【问题标题】:Visual Basic.Net Insert multiple rows into a tableVisual Basic.Net 在表中插入多行
【发布时间】:2014-01-23 10:20:43
【问题描述】:

我是一个相对新手,并试图将多行(以及来自文本框的数据)从一个表插入到另一个表中并且卡住了。

此 SQL 标识要插入到表中的数据

strsql = "SELECT '" & textbox1.text & "', '" & Textbox2.text & "', "
strsql = strsql & " a.TaskNum, a.StartDay, a.NumofDays FROM VETTimeLines as a"
strsql = strsql & " ORDER BY a.StartDay"

我从上面显示的 -> Insert into StudentProgram Values() 代码开始,经过 3 天的尝试,我现在期待您的建议。

非常感谢期待 彼得

【问题讨论】:

  • 您是否成功地与您的数据库建立了连接?什么是主键列?你有当前的插入代码吗?还有什么 DBMS(MS-Access、SQL Server 等)?
  • 您所做的事情很危险,您的数据库可能会被黑客入侵,可能迟早会发生。在此处执行任何其他操作之前,请阅读 sql 注入攻击和参数化查询。

标签: vb.net ado.net


【解决方案1】:

可以通过多种方式使用 C# 插入数据,例如使用 Entity Framework 或使用 ADO.NET,正如您在本例中选择的那样。

使用 ADO.NET,您可以像以前一样编写插入,也可以使用 DataAdapter 方法。除其他外,DataAdapter 能够为您创建 SQL 代码。例如参见:SQL DataAdapter。正如@Joel Coehoorn 在上面的评论中指出的那样,由于 sql 注入威胁,最好不要像您那样构建 SQL 字符串。

克服这个问题的一种方法是使用上面链接中显示的参数。如果您决定为自己插入参数提供 SQL,这是一个很好的例子:StackOverFlow-Insert using ADO

以上所有代码背后的思想是创建连接对象,创建参数对象,创建命令对象,打开数据库连接,执行命令并关闭连接。

尝试上述方法之一,如果出现任何问题,请告诉我们您的具体问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-13
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多