【问题标题】:Inserting rows into a database in ASP.NET在 ASP.NET 中将行插入数据库
【发布时间】:2010-10-10 16:49:20
【问题描述】:

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

【问题讨论】:

    标签: c# .net insert datasource


    【解决方案1】:

    您走错了路 - 您根本不会使用 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(它们非常简单),然后将注意力转向构建对您有意义的数据访问层。你会很高兴你做到了。

    【讨论】:

    • ??谁会否决这个答案并将其标记为冒犯?一定有人有一种奇怪的幽默感。
    • 这为我解决了这个问题。现在一切都说得通了。感谢您的帮助。
    • 我不知道怎么投票。 . .当我点击“投票”选项卡时没有任何反应。
    • 点击数字上方的向上箭头来为答案投票。单击数字下方的向下箭头以对其投反对票(意思是 - 回答没有帮助)。要接受答案,请单击左侧的复选标记轮廓。 “投票”选项卡可让您按投票数对答案进行排序。
    • 我检查了它,这表明答案解决了我的问题。但是,我没有 15 的声望(我是新来的),所以它不会让我投票。再次感谢您的帮助。
    【解决方案2】:

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

    【讨论】:

    • 我个人的偏好是始终在服务器上设置这样的日期时间(使用 GETDATE()),解决了多个时区更新的许多问题。
    猜你喜欢
    • 2016-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多