[英]C# insert query not working
i have written insert query for my application to create new user with password, but its not working, please check and correct it. 我已经为我的应用程序编写了插入查询以使用密码创建新用户,但此方法无法正常工作,请检查并更正它。
con.Open();
string a;
a = "insert into tbl_KKSUser(EName,Uname,Password)values(@en,@un,@pas)";
SqlCommand cm = new SqlCommand(a, con);
SqlParameter paramName;
paramName = new SqlParameter("@en", SqlDbType.VarChar, 25);
paramName.Value = DropDownList1.SelectedItem.Text;
cm.Parameters.Add(paramName);
string original = TextBox2.Text.Trim();
int h = original.GetHashCode();
string withHash = original;
b1 = Encoding.BigEndianUnicode.GetBytes(withHash);
encrypted = Convert.ToBase64String(b1);
SqlParameter paramPass;
paramPass = new SqlParameter("@pas", SqlDbType.VarChar, 300);
paramPass.Value = Convert.ToString(encrypted);
cm.Parameters.Add(paramPass);
Response.Write("<script>alert('inserted')</alert>");
con.Close();
You are not executing the query. 您没有执行查询。 You need to do:
您需要做:
cm.ExecuteNonQuery();
You must call ExecuteNonQuery function before closing connection 您必须在关闭连接之前调用ExecuteNonQuery函数
con.Open();
string a;
a = "insert into tbl_KKSUser(EName,Uname,Password)values(@en,@un,@pas)";
SqlCommand cm = new SqlCommand(a, con);
SqlParameter paramName;
paramName = new SqlParameter("@en", SqlDbType.VarChar, 25);
paramName.Value = DropDownList1.SelectedItem.Text;
cm.Parameters.Add(paramName);
string original = TextBox2.Text.Trim();
int h = original.GetHashCode();
string withHash = original;
b1 = Encoding.BigEndianUnicode.GetBytes(withHash);
encrypted = Convert.ToBase64String(b1);
SqlParameter paramPass;
paramPass = new SqlParameter("@pas", SqlDbType.VarChar, 300);
paramPass.Value = Convert.ToString(encrypted);
cm.Parameters.Add(paramPass);
cm.ExecuteNonQuery(); // here call ExecuteNonQuery
Response.Write("<script>alert('inserted')</alert>");
con.Close();
Two things are missing there.... 那里缺少两件事。
You are passing 3 sql variables in the query and adding only two parameters. 您在查询中传递了3个sql变量,并且仅添加了两个参数。
add the following line too, 也添加以下行,
cm.ExecuteNonQuery();
The ExecuteNonQuery() is one of the most frequently used method in SqlCommand Object, and is used for executing statements that do not return result sets (ie. statements like insert data , update data etc.) ExecuteNonQuery()是SqlCommand对象中最常用的方法之一,用于执行不返回结果集的语句(即,诸如插入数据,更新数据之类的语句)。
so use 所以用
cm.ExecuteNonQuery();
And also add all used parameters ie 3 parameters in your example. 并在示例中添加所有使用的参数,即3个参数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.