我在wpf中编写了以下代码,但点击按钮时显示错误。
private void button1_Click(object sender, RoutedEventArgs e)
{
try
{
SqlConnection con = new SqlConnection("data source=RAMANDEEP-PC\\SQLEXPRESS; initial catalog=RamandeepSingh; integrated security=true");
con.Open();
SqlCommand cmd = new SqlCommand("select * from ContactManager", con);
SqlDataAdapter da = new SqlDataAdapter();
DataSet ds = new DataSet();
da.Fill(ds, "ContactManager");
da.SelectCommand = cmd;
listBox1.DataContext = ds.Tables[0];
con.Close();
}
catch (Exception we)
{
MessageBox.Show(we.Message);
}
}
答案 0 :(得分:1)
错误非常简单。您正在尝试先填充适配器然后调用select命令。这显然是错的。将其更改为
da.SelectCommand = cmd;
da.Fill(ds, "ContactManager");
答案 1 :(得分:0)
错误消息清楚地说明了代码中的问题。在调用内部使用它的SelectCommand
之前,您应该设置Fill
。
da.SelectCommand = cmd;
da.Fill(ds, "ContactManager");
答案 2 :(得分:0)
顺序很重要,试试这个。 :)
DataSet ds = new DataSet();
using(SqlConnection conn = new SqlConnection(""data source=RAMANDEEP-PC\\SQLEXPRESS; initial catalog=RamandeepSingh; integrated security=true"))
{
SqlDataAdapter da = new SqlDataAdapter();
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "select * from ContactManager";
da.SelectCommand = cmd;
conn.Open();
da.Fill(ds);
}
listBox1.ItemSource = ds.Tables[0];