access数据库查询问题(20分)

  • 主题发起人 主题发起人 starforce
  • 开始时间 开始时间
S

starforce

Unregistered / Unconfirmed
GUEST, unregistred user!
代码如下:
string connString=ConfigurationSettings.AppSettings["ConnectionString"];
OleDbConnection conn = new OleDbConnection(connString);
string str1="SELECT * FROM books WHERE 图书编号=@tsbh";
OleDbCommand myCommand=new OleDbCommand(str1,conn);
myCommand.CommandType=CommandType.StoredProcedure;
OleDbParameter param=new OleDbParameter("@tsbh",OleDbType.Numeric,10);
OleDbDataAdapter dataAdapter = new OleDbDataAdapter (sqlstr,conn);
myCommand.Parameters.Add(param);
param.Direction=ParameterDirection.Input;
param.Value=Int32.Parse(this.TextBox6.Text);
DataSet dr=new DataSet();
dataAdapter.Fill(dr);
conn.Open();
this.DataGrid1.DataSource=dr;
this.DataGrid1.DataBind();
conn.Close();
运行出错,请教高手!!!
 
什么提示呢?贴出来一起看看吧!
 
我想是在你的SQL语句里的参数的表示有错误.即下面的这句:string str1="SELECT * FROM books WHERE 图书编号=@tsbh";
我觉得应该是
string str1="SELECT * FROM books WHERE 图书编号=?";
 
string connString=ConfigurationSettings.AppSettings["ConnectionString"];
OleDbConnection conn = new OleDbConnection(connString);
string str1="SELECT * FROM books WHERE 图书编号=@tsbh";
OleDbCommand myCommand=new OleDbCommand(str1,conn);
myCommand.CommandType=CommandType.Text;//你用sql语句查询,应用CommandType.Text。
OleDbParameter param=new OleDbParameter("@tsbh",OleDbType.Numeric,10);
OleDbDataAdapter dataAdapter = new OleDbDataAdapter (myCommand);//注意这一句,你的dataAdapter 没有与myCommand相连。
myCommand.Parameters.Add(param);
param.Direction=ParameterDirection.Input;
param.Value=Int32.Parse(this.TextBox6.Text);
DataSet dr=new DataSet();
conn.Open();
dataAdapter.Fill(dr);
this.DataGrid1.DataSource=dr;
this.DataGrid1.DataBind();
conn.Close();
 
多人接受答案了。
 
后退
顶部