gpt4 book ai didi

mysql - SqlParameterCollection 只接受非空 SqlParameter 类型对象,而不接受 MySqlParameter 对象

转载 作者:行者123 更新时间:2023-11-29 15:00:32 26 4
gpt4 key购买 nike

我创建了一个方法,它将抛出的任何异常插入到 MySql 服务器上“ExceptionLog”的表中。

异常日志表格式

idExceptionLog int (AI)用户(varchar 45)错误消息(varchart 4000)

问题是我不断收到以下错误。有谁知道为什么吗?

The SqlParameterCollection onlyaccepts non-null SqlParameter typeobjects, not MySqlParameter objects.

private void showErrorBox(String errorMsg, MessageBoxButtons btnokshow)
{

MessageBox.Show(errorMsg, "FS Manager Error", MessageBoxButtons.OK);

// write to DB

string username = System.Environment.UserName.ToString();
string timestamp = DateTime.Now.ToString();

// Locals
SqlConnection NasDB = null;
SqlCommand inputError = null;
int rows = 0;
string spName = "ExceptionInsert";

try
{
//Instantiate the DB connection setting the conn string
using (NasDB = new SqlConnection(getConnectionString(ConnectionType.NAS)))
{
// Instantiate the command object that will fire the SP.
using (inputError = new SqlCommand(spName, NasDB))
{
// Finish setting up the command object
inputError.CommandType = CommandType.StoredProcedure;

// Set up the SP params.


inputError.Parameters.Add(new MySql.Data.MySqlClient.MySqlParameter("ExceptionDate", MySql.Data.MySqlClient.MySqlDbType.DateTime, (1)));
inputError.Parameters[0].Value = timestamp;

inputError.Parameters.Add(new MySql.Data.MySqlClient.MySqlParameter("User", MySql.Data.MySqlClient.MySqlDbType.VarChar, (45)));
inputError.Parameters[1].Value = System.Environment.UserName.ToString();

inputError.Parameters.Add(new MySql.Data.MySqlClient.MySqlParameter("ExceptionMessage", MySql.Data.MySqlClient.MySqlDbType.VarChar, (4000)));
inputError.Parameters[2].Value = errorMsg;


// Now that the SP is completely set up and ready to go open the conn and fire the SP.
inputError.Connection.Open();
rows = inputError.ExecuteNonQuery();

// Close ASAP
inputError.Connection.Close();
}
}

}
catch (Exception ex)
{
//showErrorBox(ex.ToString());
throw ex;
}

最佳答案

System.Data.SqlClient 中的所有类均用于 SQL Server 数据库,而不是 mysql。

在代码中,将 SqlCommand 替换为 MySqlCommand,将 SqlConnection 替换为 MySqlConnection

编辑:参见this类的页面,您可以在这种情况下使用。

关于mysql - SqlParameterCollection 只接受非空 SqlParameter 类型对象,而不接受 MySqlParameter 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3299187/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com