【发布时间】:2010-08-27 09:57:06
【问题描述】:
在 C# WinForms 应用程序中,我必须在 MS SQL Express 服务器上执行参数化存储过程。数据库连接有效,过程也有效,但我收到一条错误消息:
42000:缺少参数“@KundenEmail”
虽然我确定我正确添加了参数。也许你们中的一些人可以看看 - 我不知道该搜索什么了......
OdbcConnection ODBCConnection = new OdbcConnection();
try
{
ODBCConnection.ConnectionString = ODBCConnectionString;
ODBCConnection.Open();
}
catch (Exception DatabaseConnectionEx)
{
if (ODBCConnection != null)
ODBCConnection.Dispose();
// Error Message
return null;
}
OdbcParameter ODBCParameter = new OdbcParameter("@KundenEmail", OdbcType.NChar, 50);
ODBCParameter.Value = KundenEmail;
OdbcCommand ODBCCommand = new OdbcCommand("getDetailsFromEmail", ODBCConnection);
ODBCCommand.CommandType = CommandType.StoredProcedure;
ODBCCommand.Parameters.Add(ODBCParameter);
DataTable DataTable = new DataTable();
OdbcDataAdapter ODBCDatadapter = new OdbcDataAdapter(ODBCCommand);
ODBCDatadapter.Fill(DataTable);
ODBCDatadapter.Dispose();
ODBCConnection.Close();
ODBCConnection.Dispose();
这是我收到的错误消息:
ERROR [4200][Microsoft][ODBC SQL Server]过程或方法 'getDetailsFromEmail' 需要 '@KundenEmail' 参数,它 未提供。
啊,我错过了连接字符串
private static String ODBCConnectionString = "Driver={SQL Server};Server=TESTSRV\\SQLEXPRESS;Database=TestDatabase;";
有什么想法吗?提前致谢。
【问题讨论】:
标签: c# winforms stored-procedures ado.net odbc