[英]ASP.NET(C#) catching exception while using stored procedure (sql database)
[英]Stored Procedure not updating database asp.net c#
这是数据库中的存储过程。
CREATE PROCEDURE Taskedb_Insert
(
@nNewID int output,
@sFromEmail varchar(200) = NULL,
@sToEmail varchar(200) = NULL,
@sEmailSubject varchar(400) = NULL,
@sEmailBody varchar(MAX) = NULL,
@dEmailDate datetime = NULL
)
AS
BEGIN
INSERT INTO [Taskedb]
(
FromEmail,
ToEmail,
EmailSubject,
EmailBody,
EmailDate
) VALUES (
@sFromEmail,
@sToEmail,
@sEmailSubject,
@sEmailBody,
@dEmailDate
)
SELECT @nNewID = @@IDENTITY
END
这是ASP.NET C#中的代码
string connectionString = "Data Source=.\\SQLEXPRESS;Initial Catalog=tbd_email_tasks;Integrated Security=True";
SqlConnection connection = new SqlConnection(connectionString);
connection.Open();
SqlCommand cmd = new SqlCommand("Taskedb_Insert", connection);
cmd.CommandType = System.Data.CommandType.StoredProcedure;
SqlParameter p1 = cmd.Parameters.Add("@nNewID", System.Data.SqlDbType.Int);
p1.Direction = System.Data.ParameterDirection.Output;
SqlParameter p2 = cmd.Parameters.Add("@sEmailSubject", System.Data.SqlDbType.VarChar);
p2.Value = subject;
SqlParameter p3 = cmd.Parameters.Add("@sEmailBody", System.Data.SqlDbType.VarChar);
p3.Value = body;
SqlParameter p4 = cmd.Parameters.Add("@sToEmail", System.Data.SqlDbType.VarChar);
p4.Value = to;
SqlParameter p5 = cmd.Parameters.Add("@sFromEmail", System.Data.SqlDbType.VarChar);
p5.Value = from;
SqlParameter p6 = cmd.Parameters.Add("@dEmailDate", System.Data.SqlDbType.DateTime);
p6.Value = date;
//connection.Open();
cmd.ExecuteNonQuery();
它不更新数据库。 请帮我。
谢谢大家的帮助
我收到此错误是因为我的表Taskedb有
nvarchar(50)
但我注入了67个字符的强度,这导致了此错误。 更改为
nvarchar(最大)
问题已解决
您可以检查它是否可能在事务范围内或类似范围内。 当然,我会将您的数据库连接和命令包装在using块中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.