DbCommand dbcomAdd = mydb.GetSqlStringCommand("insert into e_phone(id,e164,password)values(@id,@e164,@password)");
        mydb.AddInParameter(dbcomAdd, "@id", DbType.Int32, TextBox1.Text.Trim());
        mydb.AddInParameter(dbcomAdd, "@e164", DbType.String, TextBox2.Text.Trim());
        mydb.AddInParameter(dbcomAdd, "@password", DbType.String, TextBox3.Text.Trim());
        mydb.ExecuteNonQuery(dbcomAdd);是不是我SQL语句有问题,运行后提示ID列不能为空值,可是这样写确没问题DbCommand dbcomAdd = mydb.GetSqlStringCommand("insert into e_phone(id,e164,password)values('"+TextBox1.Text.Trim()+"','11111111','asdqwe')");

解决方案 »

  1.   


    values 和前面的括号间加空格
    DbCommand dbcomAdd = mydb.GetSqlStringCommand("insert into e_phone(id,e164,password)  values('"+TextBox1.Text.Trim()+"','11111111','asdqwe')");
      

  2.   

    mydb.AddInParameter(dbcomAdd, "@id", DbType.Int32, TextBox1.Text.Trim());         mydb.AddInParameter(dbcomAdd, "@e164", DbType.String, TextBox2.Text.Trim());         mydb.AddInParameter(dbcomAdd, "@password", DbType.String, TextBox3.Text.Trim()); 确实是没取值到,为什么这样取不到值呢,哪块不对吗,第一次用mysql,以前都是SQL,mysql应该怎么写才能取到值