SqlParameter 设置值不起作用

有人可以帮助我了解我在下面的代码中做错了什么吗?:


//....



internal static string InsertCorrespondenceRecipientItem(TbEmail email, Guid correspondenceId, Guid contactId) => $@"

         INSERT INTO CorrespondenceRecipientItems

           (Id, DateSent, Subject, ToEmail, [CorrespondenceId] , [ToId], [CorrespondenceRecipientId])

         VALUES

             ('{email.Guid}', '{email.DateSent}', @subject, @emailString, '{correspondenceId}', '{contactId}', '{email.Guid}')

        ";

    var sqlItemsUpdate = SqlHelpers.InsertCorrespondenceRecipientItem(item.email, correspondence.Guid, fromId);

                                var subject = item.email.Subject.Trim();

                                var emailString = item.email.EmailAddressString.Trim();


                                await _db.Database.ExecuteSqlCommandAsync(sqlItemsUpdate, new SqlParameter("@subject", subject), new SqlParameter("@emailString", emailString));

数据库中的结果是


'7F856136-0036-4F68-249F-08D5AB631656', @subject, @emailString

为什么执行不设置参数的值?


慕码人2483693
浏览 151回答 2
2回答

茅侃侃

使用参数化查询:query = INSERT INTO ReportingLogs ([UserName],[FirstName]) 值 (@username,@firstname)SqlCommand sqlCommand = new SqlCommand(cmdText, connection); SqlCommand.Parameters.Add("@userName", SqlDbType.VarChar).Value = 用户名//在finally块中关闭连接或使用using()语句
打开App,查看更多内容
随时随地看视频慕课网APP