gpt4 book ai didi

c# - 参数化查询需要参数 '@Id' ,但未提供

转载 作者:太空宇宙 更新时间:2023-11-03 18:03:51 27 4
gpt4 key购买 nike

我正在编写一个我使用方法 (parameters.add) 的软件,但是当我将数据添加到数据库时,出现以下错误:

The parameterized query expects the parameter '@Id', which was not supplied.

我看到了几个主题,但我无法解决我的问题。

The parameterized query expects the parameter ###### which was not supplied

The parameterized query expects the parameter , which was not supplied

我把c#代码和存储过程代码放在下面:

private void btnSave_Click(object sender, EventArgs e)
{
string cs = "Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=TranscactionAccountNumber;Data Source=DESKTOP-5DJFFQP";
string name = txtName.Text;
int shomarepeygiri = int.Parse(txtShomarePeygiri.Text);
string date = dtpDate.Shamsi;
decimal mablagh = decimal.Parse(txtMablagh.Text);
string comment = txtComment.Text;
using (cn = new SqlConnection(cs))
using (cmd = new SqlCommand("InsertTransaction", cn))
{
cmd.Parameters.Add("@Id",SqlDbType.Int);
cmd.Parameters.Add("@Name", SqlDbType.NVarChar, 100).Value = name;
cmd.Parameters.Add("@ShomarePeygiri", SqlDbType.Int).Value = shomarepeygiri;
cmd.Parameters.Add("@Mablagh", SqlDbType.Decimal).Value = mablagh;
cmd.Parameters.Add("@Comment", SqlDbType.NVarChar).Value = comment;
cmd.Parameters.Add("@Date", SqlDbType.VarChar).Value = date;
if (cn.State == ConnectionState.Closed)
cn.Open();
cmd.ExecuteNonQuery();
MessageBox.Show("Transaction Added Successfully..", "Register Transaction", MessageBoxButtons.OK, MessageBoxIcon.Information);
}


}

Create procedure InsertTransaction
(
@id int,
@Name nvarchar(100),
@ShomarePeygiri int,
@Mablagh decimal(18, 0),
@Comment nvarchar(MAX),
@PersianDate varchar(10)

)
AS
Insert Into TransactionTable(id,[Name],ShomarePeygiri,Mablagh,Comment,PersianDate)
values (@id,@Name,@ShomarePeygiri,@Mablagh,@Comment,@PersianDate)

最佳答案

cmd.Parameters.Add("@Id",SqlDbType.Int);

你正在添加一个参数,但你没有给它一个值。因此,您会收到此错误。

如果 ID 列是自动递增的,只需将其从存储过程中删除即可。

编辑:如果您不知道如何创建自动递增的列,请检查此答案:<强> Auto increment primary key in SQL Server Management Studio 2012

关于c# - 参数化查询需要参数 '@Id' ,但未提供,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40586228/

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