C# SQL Insert语句不工作
我已经编写了一个将txt文件插入MySql数据库的示例,但是我得到了一个错误,即未知列_Fname 我的代码:C# SQL Insert语句不工作,c#,asp.net,mysql,C#,Asp.net,Mysql,我已经编写了一个将txt文件插入MySql数据库的示例,但是我得到了一个错误,即未知列_Fname 我的代码: string strQuery = "insert into tblFiles(FName,FData) values (_FName, _FData)"; MySqlCommand cmd = new MySqlCommand(strQuery); cmd.Parameters.AddWithValue("_FName", filename); cmd.Parameters.AddW
string strQuery = "insert into tblFiles(FName,FData) values (_FName, _FData)";
MySqlCommand cmd = new MySqlCommand(strQuery);
cmd.Parameters.AddWithValue("_FName", filename);
cmd.Parameters.AddWithValue("_FData", bytes);
即使这样,也会导致相同的错误:
cmd.Parameters.Add("_FName", MySqlDbType.VarChar).Value = filename;
cmd.Parameters.Add("_FData", MySqlDbType.LongText).Value = bytes;
试试这个
string strQuery = "insert into tblFiles(FName,FData) values (?, ?)";
请注意,如果您正在使用MySQL的.NET本机提供程序,那么您可能(只是可能)
能够避开命名参数。但是,如果您使用
OleDB接口,参数是位置参数(未命名),必须标记
使用“?”字符。试试这个
string strQuery = "insert into tblFiles(FName,FData) values (?, ?)";
请注意,如果您正在使用MySQL的.NET本机提供程序,那么您可能(只是可能)
能够避开命名参数。但是,如果您使用
OleDB接口,参数是位置参数(未命名),必须标记
使用“?”字符。使用“@\u FName”或简单的“?”代替“\u FName”。这样,就可以正确地替换参数。而不是使用“@\u FName”或简单地使用“?”。这样,就可以正确地替换参数。难道不需要在参数名称之前添加@,以便mysql能够理解值、列名和文本之间的差异吗。难道不需要在参数名称之前添加@,以便mysql能够理解值、列名和文本之间的差异吗,还有一个文本。好吧,您的新MySqlCommand()缺少连接,是吗?另外,您应该将参数写为@Name而不是\u Name。好吧,您的新MySqlCommand()缺少连接,是吗?另外,您应该将参数写入@Name而不是\u Name。听起来好像命令没有将\u FName解释为令牌/参数
尝试改用@_FName…听起来命令没有将该_FName解释为令牌/参数 尝试改用@_FName…尝试:
string strQuery = "insert into tblFiles(FName,FData) values (@FName, @FData)";
MySqlCommand cmd = new MySqlCommand(strQuery);
cmd.Parameters.AddWithValue("@FName", filename);
cmd.Parameters.AddWithValue("@FData", bytes);
尝试:
这应该起到作用:
cmd.Parameters.AddWithValue("@_FName", filename);
cmd.Parameters.AddWithValue("@_FData", bytes);
有关更多信息甚至示例,请参阅。这应该可以做到:
cmd.Parameters.AddWithValue("@_FName", filename);
cmd.Parameters.AddWithValue("@_FData", bytes);
有关更多信息,甚至示例,请参阅。我认为需要在每个要用作参数名的字符串之前添加@。不是MySql person,但参数值中不应该有@前缀吗?所以它看起来像@_FName,@_FData?请输入准确的错误。我认为您需要在每个要用作参数名的字符串之前添加@。不是MySql person,但参数值中的参数不应该有@前缀吗?所以它看起来像"FName","FData"?请输入准确的错误。抱歉的是"value"我指的是参数。抱歉的是"value"我指的是参数。