高手们,小弟做一个简单的查询 
OleDbConnection cnn; 
cnn=new OleDbConnection(); 
cnn.ConnectionString=@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\My Docment\C#\XKTSys\bin\Debug\Db\KST.mdb;User ID=Admin;Password=;"; 
cnn.Open(); OleDbDataAdapter da=new OleDbDataAdapter("select * from 科目 where 科目编号=textBox1.Text",cnn); 
DataSet ds=new DataSet(); 
da.Fill(ds,"科目"); 为什么会有这种错误“未处理的“System.Data.OleDb.OleDbException”类型的异常出现在 system.data.dll 中”,该怎么解决啊?多谢!

解决方案 »

  1.   

    cnn.Open(); 
    打开时出的错吗?
      

  2.   

    ("select * from 科目 where 科目编号=textBox1.Text",cnn);
    ->("select * from 科目 where 科目编号 = '" + textBox1.Text + "'", cnn); 
      

  3.   

    此外,你应该尽量避免这种拼接SQl的做法对输入至少要先做检查尽量使用参数化查询
      

  4.   

    你还是应该好好看一遍ADO.NET编程。 仔细看。 然后把里面的代码再敲一遍。
      

  5.   

    你可以先三楼的意见改一改,要不你写查询语句时可以这样
    string sqlstr=String.Format("select * from 科目 where 科目编号='{0}'",textBox1.Text)
    OleDbDataAdapter da=new OleDbDataAdapter(sqlstr,cnn); 
      

  6.   

    "select * from 科目 where 科目编号="+textBox1.Text