private void add_Click(object sender, System.EventArgs e)
{
string type=addty.Text.ToString();
OleDbConnection MyConnection =new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("new.mdb"));
MyConnection.Open();
string strSel= "select utype from utype where utype="+type;
OleDbCommand myCommand = new OleDbCommand(strSel ,MyConnection); 
OleDbDataReader dr= myCommand.ExecuteReader();  
if (dr.Read()==true)
{
addty.Text="已经有此类别";
dr.Close();

}
else
{ string strSel1 = "insert into utype (utype) vule(type) ";
OleDbCommand myCommand1 = new OleDbCommand(strSel1 ,MyConnection);
myCommand1.ExecuteNonQuery(); }
MyConnection.Close();
}
确认连接库 以及表 字段都没错
抱错 OleDbDataReader dr= myCommand.ExecuteReader(); 
至少缺少一个参数
怀疑 第一个select语句有问题 但不知道错在哪里
???

解决方案 »

  1. "select utype from utype where utype='"+type+"'";
    缺少单引号??
      

  2. string strSel= "select utype from utype where utype='" + type + "'";
    string strSel1 = "insert into utype (utype) vaules('" + type + "') ";
      

  3. string strSel= "select utype from utype where utype="+type;
    ""没问题
    utype是Text型的
      

  4. 如果你的type是int或者整型就没问题,如果是string的话要改成
    string strSel= "select utype from utype where utype='"+type+"'";
      

  5. 按照楼上
    问题解决了
    但却无法向表添加记录了包错
    已有打开的与此连接相关联的 DataReader,必须首先将它关闭。 
     string strSel1 = "insert into utype (utype) vule(type) ";
    OleDbCommand myCommand1 = new OleDbCommand(strSel1 ,MyConnection);
    myCommand1.ExecuteNonQuery();
      

类似问题 »