1
private void txtName_KeyDown(object sender, KeyEventArgs e)
{
    SqlDataAdapter DA = new SqlDataAdapter("Search_Student",
        DBConnection.GetConnection());
    DA.SelectCommand.CommandType = CommandType.StoredProcedure;                    
    DA.SelectCommand.Parameters["@FirstName"].Value = (txtName.Text).Trim();

    DataTable DA1 = new DataTable();
    DA.Fill(DA1);
    dataGridView1.DataSource = DA1;
}           
4

4 回答 4

2

在分配参数值之前,您必须先添加参数

SqlDataAdapter DA = new SqlDataAdapter("Search_Student",
        DBConnection.GetConnection());
    DA.SelectCommand.CommandType = CommandType.StoredProcedure;                    


     SqlParameter param  = new SqlParameter();
     param.ParameterName = "@FirstName";
      param.Value  = txtName.Text;


    DA.SelectCommand.Parameters.Add(param);

    DataTable DA1 = new DataTable();
    DA.Fill(DA1);
    dataGridView1.DataSource = DA1;
于 2013-07-25T06:47:58.793 回答
1

你应该使用

DA.SelectCommand.Parameters.Add("@FirstName", txtName.Text.Trim());
于 2013-07-25T06:48:48.390 回答
1

尝试以下操作:

var paramFName = e.Command.CreateParameter("@FirstName", (txtName.Text).Trim());
e.Command.Parameters.Add(paramFName);
于 2013-07-25T06:49:28.553 回答
1

将您的代码更改为,您尚未将参数添加到命令参数集合中。

DA.SelectCommand.Parameters.AddWithValue("@FirstName", txtName.Text.Trim());

以上都执行

于 2013-07-25T06:48:07.913 回答