ASP.net 表单 SQL 从输入框更新服务器
ASP.net form SQL Server update from inputbox
我正在尝试使用我网站上输入框中的文本更新我的 SQL 服务器数据库中的 table;
我的 table 是 MemberSite.dbo.Users
并且此 table 中的列是:
ID (Auto incrementing) UserName, Password, ApiKey, VeriF
它没有更新我的 SQL 服务器 table。
我想要这样做:获取输入文本并将其放入我的 SQL 服务器 table 针对已登录的用户。
这是一些代码 web.config
:
<add name="WRITER"
connectionString="Data Source=localhost;Initial Catalog=MembershipSite;User ID=test;Password=test!"
providerName="System.Data.SqlClient" />
点击按钮的后端;
protected void Save_Click(object sender, EventArgs e)
{
SqlConnection conn = null;
try
{
string sql = "UPDATE dbo.Users SET ApiKey = @API, VeriF = @verif WHERE UserName = @username";
conn = new SqlConnection(ConfigurationManager.ConnectionStrings["WRITER"].ConnectionString);
SqlCommand cmd = new SqlCommand(sql, conn);
SqlParameter api = new SqlParameter();
api.ParameterName = "@API";
api.Value = APIinput;
cmd.Parameters.Add(api);
SqlParameter verif = new SqlParameter();
verif.ParameterName = "@verif";
verif.Value = Veri;
cmd.Parameters.Add(verif);
SqlParameter UserN = new SqlParameter();
UserN.ParameterName = "@username";
UserN.Value = User.Identity.Name;
cmd.Parameters.Add(UserN);
conn.Open();
}
finally
{
if (conn !=null)
conn.Close();
}
}
因为你从不执行你的命令。只需添加:
cmd.ExecuteNonQuery();
打开连接后。
还可以使用 using
statement 自动处理连接和命令 ,而不是手动调用 Close
或 Dispose
方法。喜欢;
using(var conn = new SqlConnection(conString))
using(var cmd = conn.CreateCommand())
{
// Set your CommandText
// Add your parameters
// Open your connection
// Execute your command.
}
您在 connection.Open()
之后错过了 cmd.ExecuteNonQuery()
。这就是为什么值没有更新的原因
我正在尝试使用我网站上输入框中的文本更新我的 SQL 服务器数据库中的 table;
我的 table 是 MemberSite.dbo.Users
并且此 table 中的列是:
ID (Auto incrementing) UserName, Password, ApiKey, VeriF
它没有更新我的 SQL 服务器 table。
我想要这样做:获取输入文本并将其放入我的 SQL 服务器 table 针对已登录的用户。
这是一些代码 web.config
:
<add name="WRITER"
connectionString="Data Source=localhost;Initial Catalog=MembershipSite;User ID=test;Password=test!"
providerName="System.Data.SqlClient" />
点击按钮的后端;
protected void Save_Click(object sender, EventArgs e)
{
SqlConnection conn = null;
try
{
string sql = "UPDATE dbo.Users SET ApiKey = @API, VeriF = @verif WHERE UserName = @username";
conn = new SqlConnection(ConfigurationManager.ConnectionStrings["WRITER"].ConnectionString);
SqlCommand cmd = new SqlCommand(sql, conn);
SqlParameter api = new SqlParameter();
api.ParameterName = "@API";
api.Value = APIinput;
cmd.Parameters.Add(api);
SqlParameter verif = new SqlParameter();
verif.ParameterName = "@verif";
verif.Value = Veri;
cmd.Parameters.Add(verif);
SqlParameter UserN = new SqlParameter();
UserN.ParameterName = "@username";
UserN.Value = User.Identity.Name;
cmd.Parameters.Add(UserN);
conn.Open();
}
finally
{
if (conn !=null)
conn.Close();
}
}
因为你从不执行你的命令。只需添加:
cmd.ExecuteNonQuery();
打开连接后。
还可以使用 using
statement 自动处理连接和命令 ,而不是手动调用 Close
或 Dispose
方法。喜欢;
using(var conn = new SqlConnection(conString))
using(var cmd = conn.CreateCommand())
{
// Set your CommandText
// Add your parameters
// Open your connection
// Execute your command.
}
您在 connection.Open()
之后错过了 cmd.ExecuteNonQuery()
。这就是为什么值没有更新的原因