id 递增了。其它字段为null 

解决方案 »

  1.   


      public int ADD_ExecuteNonQuery(MODEL.Student st)
            {
                StringBuilder builder = new StringBuilder();
                builder.Append("(");
                builder.Append("`usname`,`usage`,`usclass`)");
                builder.Append(" values (");
                builder.Append("@usname,@usage,@usclass)");
                DbParameter[] cmdParms = { mydb.CreateInDbParameter("@usname", DbType.String, st.Usname), mydb.CreateInDbParameter("@usage", DbType.Int32, st.Usage), mydb.CreateInDbParameter("@usclass", DbType.String, st.Usclass) };
                return mydb.ADD_ExecuteNonQuery(tablename, builder.ToString(), cmdParms);
    }
    ----------------
    public DbParameter CreateDbParameter(string paraName, DbType dbType, int size, object value, ParameterDirection direction)
            {
                MySqlParameter parameter = new MySqlParameter();
                parameter.ParameterName = paraName;
                if (size != 0)
                {
                    parameter.Size = size;
                }
                parameter.DbType = dbType;
                if (value == null)
                {
                    parameter.Value = DBNull.Value;
                }
                else
                {
                    parameter.Value = value;
                }
                parameter.Direction = direction;
                return parameter;
            }
    --------------
    foreach (MySqlParameter p in cmdParms)
                    {
                        p.ParameterName = p.ParameterName.Replace("?", "@").Replace(":", "@");
                        cmd.Parameters.Add(p);
                    }---------------------
         public int ADD_ExecuteNonQuery(string tablename, string fieldsValues, DbParameter[] cmdParms)
            {
                StringBuilder builder = new StringBuilder();
                builder.Append(string.Format("insert into {0} {1}", tablename, fieldsValues));
                return this.ExecuteNonQuery(CommandType.Text, builder.ToString(), cmdParms);
            }好多,,,就贴重点
      

  2.   

     MySqlConnection con = new MySqlConnection("server=localhost;uid=xx;password=xx;database=xx");
            con.Open();
            string sql = "INSERT INTO student (`usname`,`usage`,`usclass`)" +
        "VALUES(@usname, @usage, @usclass) ";        MySqlCommand cmd = new MySqlCommand();
            cmd.Connection = con;
            cmd.CommandText = sql;
            cmd.Parameters.Add("@usname",MySqlDbType.VarChar,10).Value = "sdf";
            cmd.Parameters["@usname"].Direction = ParameterDirection.Input;        cmd.Parameters.Add("@usage", MySqlDbType.Int32,10).Value =34;
            cmd.Parameters["@usage"].Direction = ParameterDirection.Input;        cmd.Parameters.Add("@usclass", MySqlDbType.VarChar,10).Value = "sdf";
            cmd.Parameters["@usclass"].Direction = ParameterDirection.Input;
           Response.Write( cmd.ExecuteNonQuery());简化
      

  3.   


            string sql = "INSERT INTO student (`usname`,`usage`,`usclass`)" +
        "VALUES('kjkl', 88, 'lkl') ";        MySqlCommand cmd = new MySqlCommand();
            cmd.Connection = con;
            cmd.CommandText = sql;
     Response.Write( cmd.ExecuteNonQuery());//这样就能插入。我晕。。问题出在那儿?
      

  4.   

    楼主的参数没弄对吧.. cmd.Parameters.Add("@usclass", MySqlDbType.VarChar,10).Value = "sdf";这么写竟然不报错?