将文本框值插入数据库表

本文关键字:数据库 插入 文本 | 更新日期: 2023-09-27 18:15:21

将文本框值插入SQL Server表中最简单和最像SQL的方法是什么?我找到了几种方法,但对于我想做的这件简单的事情来说,它们都太复杂了。

将文本框值插入数据库表

如果LINQ对您来说太陌生,您仍然可以使用传统的方法:

string statement = "INSERT INTO mytable(mycolumn) VALUES (@text)";
SqlCommand command = new SqlCommand(statement);
command.Parameters.AddWithValue("@text", myTextBox.Text);
try{
    SqlConnection connection = new SqlConnection(myConnectionString);
    connection.Open();
    command.Connection = connection;
    command.ExecuteNonQuery();
} catch {
    //do exception handling stuff
}

Edit:这是另一个使用using来确保清理混乱的版本:

string statement = "INSERT INTO mytable(mycolumn) VALUES (@text)";
using(SqlCommand command = new SqlCommand(statement))
using(SqlConnection connection = new SqlConnection(myConnectionString)) {
    try{
        command.Parameters.AddWithValue("@text", myTextBox.Text);
        connection.Open();
        command.Connection = connection;
        command.ExecuteNonQuery();
    } catch {
        //do exception handling stuff
   }
}

如果您想快速完成某事,请使用LINQ to SQL。它将照顾你的数据访问层& &;业务对象。

去Visual Studio的LINQ to SQL Classes &映射你的SQL服务器并添加任何你想要的表。

然后你可以使用它在后面的代码中创建的对象来更新文本框中的值。

http://weblogs.asp.net/scottgu/archive/2007/05/19/using linq到sql - - 1.部分aspx

public string ConnectionString
{
    get
    {
        //Reading connection string from web.config
        return ConfigurationManager.ConnectionStrings["ConnectionName"].ConnectionString;
    }
}
public bool InsertEmployee()
{
    bool isSaved = false;
    int numberOfRowsAffected = 0;
    string query = @"INSERT INTO Employee(EmployeeName, EmailAddress)
                        VALUES (@EmployeeName, @EmailAddress);
                        SELECT @@IDENTITY AS RowEffected";
    SqlCommand cmd = new SqlCommand();
    cmd.CommandText = query;
    cmd.CommandType = System.Data.CommandType.Text;
    cmd.Parameters.Add(new SqlParameter("@EmployeeName", txtEmployeeName.Text));
    cmd.Parameters.Add(new SqlParameter("@EmailAddress", txtEmailAddress.Text));
    try
    {
        using (SqlConnection cn = new SqlConnection(ConnectionString))
        {
            cmd.Connection = cn;
            cn.Open();
            object result = cmd.ExecuteScalar();
            isSaved = Convert.ToInt32(result) > 0 ? true : false;
        }
    }
    catch (Exception ex)
    {
        isSaved = false;
    }
    return isSaved;
}

但是,在多层或多层应用程序中,您确实需要创建DTO(数据传输对象)来传递数据从一层到另一层(或一层到另一层)

这里有一个简单的方法。由于行数的原因,它看起来很复杂:在SQL数据库中插入数据