c# - 如何在asp.net 网站中向sql server 中插入数据?

标签 c# asp.net .net sql-server

我尝试从我在 vs 2008 中构建的网站将数据插入 sql server。为此,我使用了按钮单击事件。我尝试了 youtube 中显示的代码,但代码不起作用。它在我的网站中显示错误。

.aspx.cs文件中的代码是

public partial class _Default : System.Web.UI.Page 
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);

protected void Page_Load(object sender, EventArgs e)
{
    conn.Open();
}
protected void btnInsert_Click(object sender, EventArgs e)
{
    SqlCommand cmd = new SqlCommand("insert into Insert    values('"+txtCity.Text+"','"+txtFName.Text+"','"+txtLName.Text+"')",conn);
    cmd.ExecuteNonQuery();
    conn.Close();
    Label1.Visible =true;
    Label1.Text = "Your data inserted successfully";
    txtCity.Text = "";
    txtFName.Text = "";
    txtLName.Text = "";
}

} `

最佳答案

好的,让我们稍微修改一下这段代码。你到达那里:

var cnnString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
var cmd = "insert into Insert values(@City,@FName,@LName)";
using (SqlConnection cnn = new SqlConnection(cnnString))
{
    using (SqlCommand cmd = new SqlCommand(cmd, cnn))
    {
        cmd.Parameters.AddWithValue("@City",txtCity.Text);
        cmd.Parameters.AddWithValue("@FName",txtFName.Text);
        cmd.Parameters.AddWithValue("@LName",txtLName.Text);

        cnn.Open();
        cmd.ExecuteNonQuery();
    }
}

有关修改后的代码的一些注意事项。

  • 它利用 using 语句来确保正确处理资源。
  • 它已参数化以确保不可能发生 SQL 注入(inject)。
  • 它没有在任何地方存储连接对象,删除已存储的连接。

关于c# - 如何在asp.net 网站中向sql server 中插入数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18077527/

相关文章:

c# - 唤醒线程以退出的最佳方法? C#

c# - 如何在 C# .net web 开发中使用 skype API

c# - MasterPage 的 UserControl 中的 ScriptManager.RegisterClientScriptBlock

javascript - 使用 javascript 检查输入字段文本框中的多个单词

asp.net - jQuery、WCF 和 ASP.NET

c# - 使用 WinSCP .NET 程序集从 SFTP 服务器下载具有偏移量的文件 block

c# - 在每次webservice调用之前调用某个方法

C# dll混淆与整个项目混淆

c# - 将生成的 pdf 文件而不保存在服务器上

c# - 如何在不触发 PageSizeChanged 事件的情况下以编程方式设置 RadGrid 的页面大小