Mas*_*erP 7 c# sql sql-server-2008
但是,我目前正在尝试为基于 Web 的应用程序完成交易;
无法将参数值从字符串转换为 Int32
这是函数的副本。
public static void completeTransaction(string storeCode, string employeeId, DateTime Date, string itemListNoId)
{
using (SqlConnection conn = new SqlConnection("Data Source = ; Initial Catalog =Business ; Integrated Security = true;"))
{
using (SqlCommand command = new SqlCommand("dbo.completeTransaction", conn))
{
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add("@storeCode", SqlDbType.Int).Value = storeCode;
command.Parameters.Add("@employeeId", SqlDbType.Int).Value = employeeId;
command.Parameters.Add("@Date", SqlDbType.DateTime).Value = Date;
command.Parameters.Add("@itemListNoId", SqlDbType.Int).Value = itemListNoId;
conn.Open();
command.ExecuteNonQuery();
conn.Close();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的 SQL Server 表包含以下表和类型
storeCode INT
employee INT
Date DATETIME
itemListNoId INT
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激。
我相信问题出在您的第一个参数(storeCode)中。您正在尝试将字符串作为 int 参数发送。
该行应如下所示:
command.Parameters.Add("@storeCode", SqlDbType.Int).Value = Convert.ToInt32(storeCode);
Run Code Online (Sandbox Code Playgroud)
还有一件更可疑的事情:参数的名称是 storeCode,这意味着 varchar 列。您尝试作为 storeCode 传递的值是什么?你确定它是一个 int 吗?