在 vb.net 中编写 sql 代码

Posted

技术标签:

【中文标题】在 vb.net 中编写 sql 代码【英文标题】:writing sql code in vb.net 【发布时间】:2009-05-20 19:30:53 【问题描述】:

我在 ASP.net 3.5 页面的文本框中输入了信息。当我单击提交按钮时,我希望将此信息写入 sql server 数据库。

谁能告诉我我需要做些什么来完成这个。最终用户应该看不到任何东西。

我使用的是visual web developer 2008。事件处理代码使用vb放在一个单独的文件中。

谢谢。

【问题讨论】:

所以你不知道如何与数据库通信或在数据库上运行 CRUD 操作? 针对您的具体数据更新了我的答案 【参考方案1】:

很多种不同的方法来实现这一点:动态数据、LinqToSQL、类型化数据集、数据访问应用程序块或其他 ORM。我首选的方法是直接 sql,它会使用类似这样的代码:

Public Sub SaveAnswer(ByVal answer As String)
    Dim sql As String = "INSERT INTO [table1] (ans) VALUES (@Answer)"

    Using cn As New SqlConnection(getConnectionString()), _
          cmd As New SqlCommand(sql)

        cmd.Parameters.Add("@Answer", SqlDbType.VarChar, 50).Value = answer

        cn.Open()
        cmd.ExecuteNonQuery()
    End Using
End Sub

Private Function getConnectionString() As String
    ''//normally read from a config file for this

    Return "Server=(local)\SQLEXPRESS;Database=testdb;Trusted_Connection=True;"
End Function

从这个样本中可以看出几点:

即使抛出异常,它也会通过Using 块正确关闭数据库连接 防止sql注入的参数化查询 getConnectionString() 是私人的。您应该将数据访问抽象到一个单独的类或程序集中,这是开始强制执行的一种方法。

【讨论】:

嗨乔尔,我也更喜欢直接方法。在提交按钮单击事件的事件处理程序的子中,我可以继续按照上面的示例进行操作吗?我有一个名为 answer 的文本框,一个名为 testdb 的数据库,其中包含我想将数据输入到 table1 的表。答案将放在 ans 列中。请指教。我不太了解连接字符串。谢谢。【参考方案2】:

有很多方法可以处理它。我将从一些 ADO.NET(.NET 用于与数据库对话的库)资源开始:

Modifying Data with ADO.NET ADO.NET Overview Simple INSERT

【讨论】:

如何建立与数据库的连接?【参考方案3】:

听起来您是 ASP.NET 的初学者。最好的办法是在线查找构建数据库驱动的 ASP.NET 应用程序的教程。在这里直接回答您的问题将重写其他地方的编写更好的教程。

您应该从一些有针对性的 Google 搜索教程开始,例如 this one。

我的建议是从 2.0 开始,而不是 3.5 —— 即使它是旧版本,新版本也建立在它之上,因此您将学习在 3.5 中仍然有用的基础知识。

【讨论】:

我们都必须从某个地方开始 :)【参考方案4】:

需要查看 LINQ to SQL 或 ADO.NET(较低级别)

【讨论】:

【参考方案5】:

dot net 3.5 集成了一个 LINQ 功能... 您无需编写 sql 代码......它是 SQL ORM 为您完成这项工作

创建一个数据库(.mdb 文件) 然后一个 dbml 文件(即 datacontext)将您在数据库中创建的表拖放到 dbml...

那么你就可以开始编码了……

如果 dbml 文件名是 master ...并且表名是 table1 并且有一个列 column1

那么这就是你的使用方式

dim db = new masterdatacontext()
dim c = new table1()
c.column1 = textbox1.text()
db.table1.insertonsubmit(c)
db.submitchanges()

就是这样……

【讨论】:

以上是关于在 vb.net 中编写 sql 代码的主要内容,如果未能解决你的问题,请参考以下文章

编写 CSV 文件 VB.NET

我编写了一个 vb.net 代码来在图像控件中显示图像但无法显示图像

如何编写 vb.net 代码来编译 C/C++ 程序?

用vb.net编写的程序怎么封装?

使用 vb.net 从 excel 文件更新 SQL 表

用vb.net编写的程序怎么封装?