private void button1_Click(object sender, System.EventArgs e)
{
OleDbCommand olecmd = new OleDbCommand("select * from tab_pers_info where pers_no =@pers_no,oleDbConnection1);
oleDbConnection1.Close();
oleDbConnection1.Open();
olecmd.Parameters.Add("@pers_no",OleDbType.VarChar,30);
olecmd.Parameters["@pers_no"].Value = "343";
try
{
OleDbDataReader dr = olecmd.ExecuteReader();
//没有纪录
if (dr.Read() == false)
return ;
}
catch(OleDbException mye)
{
MessageBox.Show(mye.ToString());
}
finally
{
}
}
{
OleDbCommand olecmd = new OleDbCommand("select * from tab_pers_info where pers_no =@pers_no,oleDbConnection1);
oleDbConnection1.Close();
oleDbConnection1.Open();
olecmd.Parameters.Add("@pers_no",OleDbType.VarChar,30);
olecmd.Parameters["@pers_no"].Value = "343";
try
{
OleDbDataReader dr = olecmd.ExecuteReader();
//没有纪录
if (dr.Read() == false)
return ;
}
catch(OleDbException mye)
{
MessageBox.Show(mye.ToString());
}
finally
{
}
}
要声明变量@pers_no ;
我已经加了parameter @pers_no,并给值了?为何?
-------------------------------------------
private void button2_Click(object sender, System.EventArgs e)
{
SqlCommand sqlcmd = new SqlCommand("select * from tab_pers_info where pers_no=@pers_no",sqlConnection1);
sqlConnection1.Close();
sqlConnection1.Open();
sqlcmd.Parameters.Add("@pers_no",SqlDbType.VarChar,30);
sqlcmd.Parameters["@pers_no"].Value = "343";
try
{
SqlDataReader dr = sqlcmd.ExecuteReader();
//没有纪录
if (dr.Read() == false)
return ;
}
catch(OleDbException mye)
{
MessageBox.Show(mye.ToString());
}
finally
{
}
}
留了一个双引号!!!应该是
OleDbCommand olecmd = new OleDbCommand("select * from tab_pers_info where pers_no =@pers_no",oleDbConnection1);
还是同样的错误!大家看看为什么这样,不信你自己调试看看!
留了一个双引号!!!应该是
OleDbCommand olecmd = new OleDbCommand("select * from tab_pers_info where pers_no =@pers_no",oleDbConnection1);
----------------
我实际程序中有"的,我发贴时丢了,如果没有,编译通不过的。我如何执行呢?
param.Value = "23";
olecmd.Parameters.Add(param);尝试了也没有效果!哎
1. 用SqlCommand(就像你已经做的)
2. 用"?"代替"@param_name"