c# – 为什么我在SQL表中得到@firstname和@lastname?
发布时间:2020-12-16 00:10:35 所属栏目:百科 来源:网络整理
导读:我的ASP.NET项目中有以下代码,我仍然无法弄清楚为什么我的SQL Server表保存参数名称而不是值.任何帮助将不胜感激. [WebMethod]public static void InsertMethod(string firstname,string lastname){ SqlConnection con = new SqlConnection(@"Data Source=KI
我的ASP.NET项目中有以下代码,我仍然无法弄清楚为什么我的SQL Server表保存参数名称而不是值.任何帮助将不胜感激.
[WebMethod] public static void InsertMethod(string firstname,string lastname) { SqlConnection con = new SqlConnection(@"Data Source=KIMBERLYSQLSERVER02;Initial Catalog=Chalegh;User ID=***;Password=***"); SqlCommand cmd = new SqlCommand("insert into TestTable values('@Firstname','@Lastname')",con); SqlParameter paramFirstName = new SqlParameter(); paramFirstName.ParameterName = "@Firstname"; paramFirstName.Value = firstname; cmd.Parameters.Add(paramFirstName); SqlParameter paramLastName = new SqlParameter(); paramLastName.ParameterName = "@Lastname"; paramLastName.Value = lastname; cmd.Parameters.Add(paramLastName); con.Open(); cmd.ExecuteNonQuery(); 解决方法
删除引号并使用
AddWithValue 方法,如下所示:
SqlCommand cmd = new SqlCommand("insert into TestTable values(@Firstname,@Lastname)",con); cmd.Parameters.AddWithValue("@Firstname",firstname); cmd.Parameters.AddWithValue("@Lastname",lastname); 您的实际问题是引号.当您使用引号时,@ Firstname和@Lastname被视为实际值而不是参数.您不必使用AddWithValue方法,但它更短且易于使用.您不需要创建每个参数的SqlParameter并逐个设置每个属性. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- c# – 悬停事件错误触发
- Swift 3.0 和 Foundation
- ruby-on-rails – Ruby on Rails:添加Facebook登录,Twitte
- 浅谈React的V-DOM结构
- c# – 如何使用Entity Framework Core运行迁移SQL脚本
- c# – IDictionary接口的用途
- ruby-on-rails – 运行rake db:seed未从seeds.rb加载
- ruby-on-rails – 使用Rails和Devise,如果我使用ActiveReco
- c# – 本地Windows IoT应用程序部署会导致应用程序激活错误
- Oracle数据库web维护管理及监控