分からないことがあり、色々調べているうちに、このコーナーを知りました。
もし、アドバイスをいただけますと大変助かります。
よろしくご教授お願いいたします。
私は、Visual Studio 2015を利用してVisual C#の勉強を始めたばかりの人間です。
なにぶん勉強したてで、「そんなことも分からないのか!」と言われそうで恐縮なのですが、勇気を出して質問させていただきました。
参考本は「Visual C# 2013パーフェクトマスター」とう分厚い本です。
私が使っているのはVisual Studio 2015ですので、多少本とは異なる部分があるのかなと思いますが、定かではありません。
そこで、この本の849ページにあるサンプルプログラムで「データベースプログラムの作成/テーブルデータの全件表示」とうプログラムを実行させようとしたのですが、上手くいきません。
「ExecuteReaderがハンドルされませんでした!」というエラーがでてしまいます。
エラーの場所のコードは下の部分です。
rd = cmd.ExecuteReader();
そして、エラーの説明で
「型;SystemDataSqlClient.SqlExceptionのハンドルされていない例外がSystemData.dllで発生しました。」
と表示されています。
プロジェクト:WindowsFormsApplication4
Form1.cs
内部のコードになります。
コードは下の通りとなります。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication4
{
public partial class Form1 : Form
{
private SqlConnection cn = new SqlConnection();
private SqlCommand cmd = new SqlCommand();
private SqlDataReader rd;
private string cnstr = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;Connect Timeout=30";
public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { cn.ConnectionString = cnstr; cn.Open(); cmd.Connection = cn; cmd.CommandType = CommandType.Text; cmd.CommandText = "SELECT * FORM[dbo].[Table]"; **rd = cmd.ExecuteReader();** while (rd.Read()) listBox1.Items.Add( String.Format("[{0}] {1,-10} {2,-10} {3.-30} [Tel]{4}", rd["Id"], rd["Name"], rd["ZipCode"], rd["Address"], rd["Tel"])); rd.Close(); cn.Close(); } }
}
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/28 22:06