在ASP.NET中将行插入数据库

时间:2009-03-02 01:20:04

标签: c# .net insert datasource

我是.NET的新手,我似乎无法弄清楚应该简单的东西。我想在表中插入一行,并使用未绑定到数据控件的值对其进行初始化。具体来说,我在页面上有一个CreateUserWizard控件。在CreatedUser方法中,我想在我创建的名为“users”的数据库中插入一行,其中包含CreateUserWizard控件中的用户名和电子邮件地址,以及从DateTime.Now函数创建新用户的日期。似乎没有办法在sqlDataSource控件中设置参数,以便他们可以访问未绑定到数据控件的数据。谁能解释一下让我这样做的方法?

2 个答案:

答案 0 :(得分:9)

你走错了路 - 你根本不会使用sqlDataSource控件。您将从代码中与数据库进行更直接的交互。例如:

SqlConnection conn = new SqlConnection(connString);
SqlCommand cmnd = new SqlCommand("Insert Into Table (P1, P2) Values (@P1, @P2)", conn);
cmnd.Parameters.AddWithValue("@P1", P1Value);
cmnd.Parameters.AddWithValue("@P2", P2Value);
cmnd.ExecuteNonQuery();
conn.Close();

现在,说到这一切,您将需要详细了解SqlCommand和SqlDataReader(它们非常简单),然后将注意力转移到构建对您有意义的数据访问层。你会很高兴的。

答案 1 :(得分:1)

另一种选择是在数据库本身设置默认值,这样您就不必担心传递Datetime.now了。