如何解决错误:密钥不能为空。参数名称:输入c#?
我使用的是MySql数据库,我在表中创建了一个名为如何解决错误:密钥不能为空。参数名称:输入c#?,c#,asp.net,mysql,C#,Asp.net,Mysql,我使用的是MySql数据库,我在表中创建了一个名为ID的字段,该字段设置为自动递增且不为空。但是,我收到一个错误,如下所示: 错误:密钥不能为空。参数名称:key 我已经在我的GridView中给出了datakeynames=“ID”。这有什么不对劲吗 当我在查询点放置断点并直接将数据插入到mysql时,插入时没有任何问题 这是我的GridView声明: <asp:GridView ID="grdUploadedFiles" runat="server" AutoGenerateColum
ID
的字段,该字段设置为自动递增且不为空。但是,我收到一个错误,如下所示:
错误:密钥不能为空。参数名称:key
我已经在我的GridView
中给出了datakeynames=“ID”
。这有什么不对劲吗
当我在查询点放置断点并直接将数据插入到mysql
时,插入时没有任何问题
这是我的GridView
声明:
<asp:GridView ID="grdUploadedFiles" runat="server" AutoGenerateColumns="False" AllowPaging="True" PageSize="7" DataKeyNames="ID" ..>
它在myobjcon.open()语句中给出此错误
MySqlConnection objMyCon1 = new MySqlConnection();
objMyCon1.Open();
MySqlCommand cmd1 = new MySqlCommand(getSQL1, objMyCon1);
cmd1.ExecuteNonQuery();
objMyCon1.Close();
dbLoad();
我们终于看到了一些代码,请注意:
MySqlConnection objMyCon1 = new MySqlConnection();
objMyCon1.Open();
objMyCon1应该打开什么?你没有给你的对象任何关于它应该做什么的信息。当然,这是一个MySqlConnection,但在连接之前,它需要知道您的数据库在哪里。好的,我们终于看到了一些代码,请注意:
MySqlConnection objMyCon1 = new MySqlConnection();
objMyCon1.Open();
objMyCon1应该打开什么?你没有给你的对象任何关于它应该做什么的信息。当然,这是一个MySqlConnection,但它需要知道数据库在哪里,然后才能连接。您可以创建
MySqlConnection objMyCon1=new MySqlConnection()代码>并尝试打开,但您需要指定我认为是的连接字符串(找到一些熟悉的东西)。您创建了MySqlConnection objMyCon1=new MySqlConnection()代码>并尝试打开,但我认为您需要指定连接字符串(找到一些熟悉的内容)。首先,您已经连接到数据库,因此需要创建一个连接字符串,然后您的代码才能工作
这意味着你在空中,试图抓住一个不在你背后的降落伞。这对您有意义吗?首先,您必须连接到数据库,因此需要创建一个连接字符串
,然后您的代码才能工作
这意味着你在空中,试图抓住一个不在你背后的降落伞。这对你有意义吗?作为一个提示,请查看这篇文章,这篇文章是一个关于如何写问题的很好的指南,以便在这里获得好的答案:写一个好问题本身就是一门艺术:-)作为提示,检查这篇文章,这是一个关于如何写问题以获得好答案的很好的指南,因此:写一个好问题本身就是一门艺术:-)我相信连接字符串被省略了,如果你再次阅读问题,你会发现文本“当我放置断点时…”这表明此错误发生在发布模式下,但不是在调试时。我相信连接字符串被忽略,如果您再次阅读此问题,您会发现文本“当我放置断点时…”,这表明此错误发生在发布模式下,而不是在调试时。