用的是MySql.Data.MySqlClient组件,代码如下 
       MySql.Data.MySqlClient.MySqlParameter[] arParams = new MySqlParameter[1];
       arParams[0] = new MySqlParameter("@ProjectTypeName", MySqlDbType.Int16, 4);
       arParams[0].Value = name;       MySqlConnection con = new MySqlConnection(connection);
       con.Open();       MySqlCommand cmd = new MySqlCommand("insert into gxp_tprojecttype values(@ProjectTypeName)", con);
       cmd.Parameters.Add(arParams[0]);
       cmd.ExecuteNonQuery();
 出现的错误提示是:
1、输入英文:输入字符串的格式不正确。
2、输入中文:输入字符串的格式不正确。
3、输入数字:Column count doesn't match value count at row 1数据库是gbk2312编码,连接是Host=127.0.0.1;UserName=root;Password=123456;Database=test;Port=3306; charset=gb2312;

解决方案 »

  1.   

    @ProjectTypeName 参数在数据库中是int类型吗
      

  2.   

      arParams[0] = new MySqlParameter("@ProjectTypeName", MySqlDbType.Int16, 4);
           arParams[0].Value = name;
    指定参数类型为MySqlDbType.Int16,也就是short类型,from -32,768 through 32,767.你的name是什么类型的数据?还有你gxp_tprojecttype的字段只有一个吗?最好是insert into table(col1,col2) values(@val1,@val2)的格式
      

  3.   


    ProjectTypeName varchar 100MySqlParameter("@ProjectTypeName", MySqlDbType.VarChar, 100);改过来了,还是出现:Column count doesn't match value count at row 1
      

  4.   

    谢谢俩位,细节问题没注意。Mysql没MS数据那么好操作。
      

  5.   

    arParams[0].Value = name.ToString();