如何解决错误:密钥不能为null参数名称:键入C#?

问题描述

| 我正在使用MysqL数据库,并且已在表
ID
中创建了一个字段,该字段设置为自动递增且不为null。但是,我收到以下错误消息:   错误:密钥不能为空。参数名称:键 我在
GridView
中给了
datakeynames=\"ID\"
。这有什么问题吗? 当我在查询点放置一个断点并将数据直接插入
MysqL
时,它插入就没有问题。 这是我的
GridView
声明:
<asp:GridView ID=\"GrdUploadedFiles\" runat=\"server\" AutoGenerateColumns=\"False\" AllowPaging=\"True\" PageSize=\"7\" DataKeyNames=\"ID\" ..>
而我的sql语句:
INSERT into tbluploadedfilesdetail (FileType,FileName,FileExt,FilePath,WebUrl) VALUES (...)
它在myobjcon.open()语句中给出此错误
MysqLConnection objMyCon1 = new MysqLConnection();
objMyCon1.open();
MysqLCommand cmd1 = new MysqLCommand(getsql1,objMyCon1);
cmd1.ExecuteNonQuery();
objMyCon1.Close();
dbLoad();
    

解决方法

        首先,您已连接到数据库,因此需要创建一个
ConnectionString
,然后您的代码才能正常工作, 这意味着您正在广播中,并试图向后背降落伞降落。这对您有意义吗?     ,        好的,所以我们终于到了可以看到一些代码的地方,所以请注意以下几点:
MySqlConnection objMyCon1 = new MySqlConnection(); 
objMyCon1.Open(); 
objMyCon1应该打开什么?您尚未向对象提供有关其应做的任何信息。当然,它是一个MySqlConnection,但是在连接之前它需要知道数据库的位置。     ,        您创建
MySqlConnection objMyCon1 = new MySqlConnection();
并尝试打开,但是需要指定我认为的连接字符串(在此处找到一些熟悉的东西)。