将文本框值插入SQL Server表的最简单,最类似SQL的方法是什么?我找到了几种方法,而且所有这些方法都太复杂了,我想做的这件简单的事情。
答案 0 :(得分:6)
如果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
}
修改:这是另一个使用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
}
}
答案 1 :(得分:1)
如果您想快速执行某些操作,请使用LINQ to SQL。它将照顾您的数据访问层&业务对象。
转到Visual Studio上的LINQ to SQL Classes&映射您的SQL服务器并添加您想要的任何表。
然后,您可以使用它在后面的代码中创建的对象来更新文本框中的值。
http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx
答案 2 :(得分:1)
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(数据传输对象)以将数据从一层传递到另一层(或层到层)
答案 3 :(得分:0)
这是一种简单的方法。由于行数Inserting Data in SQL Database
,它看起来很复杂