public static int ExecuteSql(string SQLString)
{
using (MySqlConnection connection = new MySqlConnection(connectionString))
{
using (MySqlCommand cmd = new MySqlCommand(SQLString, connection))
{
try
{
connection.Open();
int rows = cmd.ExecuteNonQuery();
return rows;
}
catch (MySqlException E)
{
throw new Exception(E.Message);
}
finally
{
cmd.Dispose();
connection.Close();
}
}
}
}调用方法的时候 报这个错误
键不能为空。
参数名: key
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.ArgumentNullException: 键不能为空。
参数名: key是哪里错了?
这样写可以么?
键不能为空。
参数名: key
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.ArgumentNullException: 键不能为空。
参数名: key源错误:
行 85: catch (System.Exception e)
行 86: {
行 87: throw (e);
行 88: }
行 89: return cmd;
源文件: c:\Documents and Settings\Administrator\桌面\login\App_Code\MySQL_DB.cs 行: 87
调用web.config中的MyString阿
如:Configuration.ConfigurationManager.connectionString["MyString"] 这样调用 试试
把name改成key?
Message="键不能为空。\r\n参数名: key"
Source="mscorlib"
ParamName="key"
StackTrace:
在 System.Collections.Hashtable.ContainsKey(Object key)
在 System.Collections.Hashtable.Contains(Object key)
在 MySql.Data.MySqlClient.MySqlPoolManager.GetPool(MySqlConnectionStringBuilder settings)
在 MySql.Data.MySqlClient.MySqlConnection.Open()
在 MySQL_DB.CreateCmd(String SQL, MySqlConnection myCon) 位置 c:\Documents and Settings\Administrator\桌面\login\App_Code\MySQL_DB.cs:行号 82
InnerException:
从这段完整的信息推断,那个MySql的类应该是读取的AppSetting部分。
所以这个方法“MySqlConnection(connectionString)”没有获取到值。你尝试在config文件里面添加 <appSettings>
<add key="" value=""/>
</appSettings>真的太像这里的Key了,估计数据库连接字符串是设置在appSettings节当中的。