0

我创建了一个 winform 应用程序,并使用 ado.net 访问 mysql 数据库。但是我遇到了一个奇怪的问题。

我的数据表创建脚本:

create table using_user {
 `id` int(11) NOT NULL auto_increment, 
 'dx_ip_addr' default NULL,
 'scard_type' default NULL,
 ....
}

我的 C# 代码:

MySqlConnection conn = new MySqlConnection();
conn.ConnectionString = "Server=localhost; Port=9999; Uid=root; Pwd=ecsc; Database=zhz-netbar-jk;"

conn.Open();

MySqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "insert into using_user (dx_ip_addr, scard_type,...)values(@dx_ip_addr, @scard_type,...)";

cmd.Parameters.Add(new MySqlParameter("@dx_ip_addr", "5000230001"));
cmd.Parameters.Add(new MySqlParameter("@scard_type", "1"));
...

cmd.ExecuteNonQuery();

conn.Close();

执行此操作后,生成了主键“id”,但其他字段为 NULL。我该如何解决这个问题?

4

1 回答 1

0

您的表结构存在问题,您没有指定将在其他字段上使用的数据类型

create table using_user {
 `id` int(11) NOT NULL auto_increment, 
 'dx_ip_addr' default NULL,  <--- no data type specified  
 'scard_type' default NULL,  <--- no data type specified
 ....
}

尝试

 create table using_user {
     `id` int(11) NOT NULL auto_increment, 
     'dx_ip_addr' int,
     'scard_type' int,  
     ....
    }

问候

于 2013-06-06T04:53:08.820 回答