花了几个小时后,我无法弄清楚为什么使用 ASP.NET 网页将空值插入到 mySQL 表中。我为此使用 odbc 连接器。下面是相同的代码。
public int Insert(string FirstName, string LastName, int age)
{
OdbcConnection conn = new OdbcConnection(connStr);
conn.Open();
OdbcCommand odcmd_Insert = new OdbcCommand("INSERT INTO webuse(firstName,lastName,age) VALUES(@param1,@param2,@param3)",conn);
odcmd_Insert.Connection = conn;
odcmd_Insert.CommandType = System.Data.CommandType.Text;
try
{
odcmd_Insert.Parameters.Add(new OdbcParameter( "@param1", FirstName));
odcmd_Insert.Parameters.Add(new OdbcParameter( "@param2", LastName));
odcmd_Insert.Parameters.Add( new OdbcParameter("@param3", age));
return odcmd_Insert.ExecuteNonQuery();
}
catch (OdbcException e)
{
throw;
}
finally {
odcmd_Insert.Dispose();
conn.Close();
conn.Dispose();
}
}
我已经调试了代码,一切看起来都很好,但所有列都用空值更新。请帮助我,我是 ASP.NET 的菜鸟。
最佳答案
请尝试如下所示的论证。我用过MySqlConnection。您也可以使用 ODBC 连接。
try
{
// Connection string for a typical local MySQL installation
string cnnString = "Server=localhost;Port=3306;Database=ci_series;Uid=root;Pwd=";
// Create a connection object
MySqlConnection connection = new MySqlConnection(cnnString);
// Create a SQL command object
string cmdText = "INSERT INTO webuse(firstName,lastName,age) VALUES(?param1,?param2,?param3)";
MySqlCommand cmd = new MySqlCommand(cmdText, connection);
cmd.CommandType = CommandType.Text;
cmd.Parameters.Add("?param1", MySqlDbType.VarChar).Value = firstName;
cmd.Parameters.Add("?param2", MySqlDbType.VarChar).Value = lastName;
cmd.Parameters.Add("?param3", MySqlDbType.VarChar).Value = age;
connection.Open();
int result = cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
}
命令应为
string cmdText = "INSERT INTO webuse(firstName,lastName,age) VALUES(?param1,?param2,?param3)";
关于c# - 使用 mySQL odbc 连接器从 ASP.NET 触发插入查询时,空值存储在 mySQL 表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24994410/