我知道它在某处,但我找不到错误:
txtDealID.Text = Properties.Settings.Default.CurDealNo.ToString();
string server = Properties.Settings.Default.SQLServer;
string constring = "Data Source=" + server + ";Initial Catalog=Propsys;Persist Security Info=True;User ID=sa;Password=0925greg";
SqlConnection conDataBase = new SqlConnection(constring);
SqlCommand cmdDataBase = new SqlCommand("SELECT * FROM Agents WHERE DealID=@DealID", conDataBase);
cmdDataBase.Parameters.AddWithValue("@DealID", txtDealID);
SqlDataAdapter sda = new SqlDataAdapter();
sda.SelectCommand = cmdDataBase;
DataTable dbdataset = new DataTable();
sda.Fill(dbdataset);
BindingSource bSource = new BindingSource();
bSource.DataSource = dbdataset;
dataGridView1.DataSource = bSource;
sda.Update(dbdataset);
答案 0 :(得分:1)
你的问题在这里:
cmdDataBase.Parameters.AddWithValue("@DealID", txtDealID)
事实上,在这里你传递的是SqlCommand而不是文本框中输入的文本,而是文本框本身。
应该是
cmdDataBase.Parameters.AddWithValue("@DealID", txtDealID.Text)
此外,避免使用AddWithValue
并使用Add
方法覆盖与显式类型的参数。
请参阅Can we stop using AddWithValue already文章,其中介绍了使用AddWithValue
时可能出现的问题。