在Asp.net中用c#更新SQL表[英] SQL Table Update in Asp.net with c#

问题描述

我想更新 sql 表,但值没有更新

这是我的代码:



string qry2 = "更新 MyProfile Set Email='"+TextBox2.Text+"',FullName='"+TextBox3.Text+"',PostalAddress='"+TextBox4.Text+"',City='"+TextBox5.Text+"',State='"+TextBox6.Text+"',Country='"+TextBox7.Text+"',Pin='"+TextBox8.Text+"' Where UserName='阿米特'";cmd = new SqlCommand(qry2, con);cmd.ExecuteNonQuery();

推荐答案

Hi Raj.

我不得不同意 RyanB31 的观点,出于各种原因不推荐上述内容(最明显的已经说明).

您是否考虑过使用存储过程为您执行更新?
存储过程会给你带来性能提升(取决于表结构/索引等)

示例:

使用 System.Data.SqlClient;private bool UpdateProfile(string Email, string FullName, string PostalAddress, string City,string 州,string 国家,string 销, string 用户名){SqlConnection SQLConn = new SqlConnection();SqlCommand SQLCmd = new SqlCommand();bool 结果 = false;试试{SQLConn.Close();SQLConn.ConnectionString = "你的连接字符串";SQLConn.Open();SQLCmd.Connection = SQLConn;SQLCmd.CommandTimeout = 0;SQLCmd.CommandType = CommandType.StoredProcedure;SQLCmd.CommandText = "SP_UpdateProfile";SQLCmd.Parameters.Add("@Email", SqlDbType.Varchar, 255).Value = 电子邮件;SQLCmd.Parameters.Add("@FullName", SqlDbType.Varchar, 255).Value = FullName;SQLCmd.Parameters.Add("@PostalAddress", SqlDbType.Varchar, 255).Value = PostalAddres;SQLCmd.Parameters.Add("@City", SqlDbType.Varchar, 255).Value = 城市;SQLCmd.Parameters.Add("@State", SqlDbType.Varchar, 255).Value = 状态;SQLCmd.Parameters.Add("@Country", SqlDbType.Varchar, 255).Value = 国家;SQLCmd.Parameters.Add("@Pin", SqlDbType.Varchar, 255).Value = Pin;SQLCmd.Parameters.Add("@Username", SqlDbType.Varchar, 255).Value = 用户名;if (SQLCmd.ExecuteNonQuery() > 0){结果 = true;}返回 结果;}catch (SqlException Ex){//在此处插入日志返回 结果;}终于{SQLConn.Close();SQLConn.Dispose();SQLCmd.Dispose();}}//执行上述方法if (UpdateProfile(TextBox2.Text, TextBox3.Text, TextBox4.Text, TextBox5.Text, TextBox6.Text, TextBox7.Text, TextBox8.Text, TextBox9.Text)){Console.WriteLine("记录更新");}

SqlCommand abc = new SqlCommand("更新我的个人资料集 Email=@email,FullName=@name,PostalAddress=@add,City=@city,State=@state,Country=@country,Pin=@pin where UserName=@user",con);abc.Parameters.Add("@email", SqlDbType.columntype).Value = TextBox2.Text;abc.Parameters.Add("@name", SqlDbType.columntype).Value = TextBox3.Text;abc.Parameters.Add("@add", SqlDbType.columntype).Value = TextBox4.Text;abc.Parameters.Add("@city", SqlDbType.columntype).Value = TextBox5.Text;abc.Parameters.Add("@state", SqlDbType.columntype).Value = TextBox6.Text;abc.Parameters.Add("@country", SqlDbType.columntype).Value = TextBox7.Text;abc.Parameters.Add("@pin", SqlDbType.columntype).Value = TextBox8.Text;abc.Parameters.Add("@user", SqlDbType.columntype).Value = "阿米特";con.Open();abc.ExecuteNonQuery();con.Close();

用受尊重的列数据类型替换列类型(例如:如果您的电子邮件列是 varchar,那么写)
abc.Parameters.Add("@email", SqlDbType.VarChar).Value = TextBox2.Text;



试试这个搅拌
string qry2 = "更新 MyProfile Set Email="+TextBox2.Text+",FullName="+TextBox3.Text+",PostalAddress="+TextBox4.Text+",City="+TextBox5.Text+",State="+TextBox6.Text+",Country="+TextBox7.Text+",Pin="+TextBox8.Text+" where UserName="+"Amit"+"";

本文地址:https://www.itbaoku.cn/post/1395104.html