SQL和Visual Studios - 传递变量

时间:2013-04-20 14:06:34

标签: sql vb.net visual-studio-2012

我需要帮助将变量从我的Visual Basic应用程序传递到SQL查询以更新我的数据库并根据我使用的变量检索数据。

执行此操作的正确方法是什么:

我的数据库正在存储appName,appLink和clickCount。每次我点击相关的应用程序,它都会启动链接,然后我希望它将clickCount增加一个。跟踪最常用的链接。

我在想,

UPDATE myTable
SET clickCount = clickCount + 1
WHERE appName = (variable I am passing | link user clicked on)

但是如何将VB中的变量导入我的SQL语句?我将在我的VB应用程序中执行许多功能,并且需要公开地将数据传入和传出我的SQL服务器。完成此任务的最佳方法是什么?

Side Note ...我应该何时在SQL中使用存储过程或函数而不是VB中的函数?

最后,我真正了解的唯一语言是Python,所以我正在学习SQL和VB来完成这个项目。在Python中,使用SQLite,代码都在同一个地方。我可以编写一个完成上述所有功能的函数。我能用VB做到吗?

2 个答案:

答案 0 :(得分:4)

您的问题不包含任何实际代码,因此我只给您一个伪代码。 首先,我定义了一个名为UpdateClickCount的方法,它接收应用程序名称和链接名称

 Public Sub UpdateClickCount(ByVal appName as String, ByVal linkName as String)
     Using sqlCon = new SqlConnection(connectionString)
          sqlCon.Open()
          Dim sqlText = "UPDATE myTable SET clickCount = clickCount + 1 " & _
                        "WHERE appName = @name AND link = @link"
          Dim cmd = new SqlCommand(sqlText, sqlCon)
          cmd.Parameters.AddWithValue("@name", appName)
          cmd.Parameters.AddWithValue("@link", linkName)
          cmd.ExecuteNonQuery()
     End Using
 End Sub

在方法内部,首先要做的是使用包含到达数据库的所有信息的连接字符串打开SqlConnection
接下来定义更新数据库的命令文本并将其分配给字符串 此命令包含两个参数占位符(@name和@link) 现在我们可以用字符串和连接定义SqlCommand 在执行命令之前要做的最后一件事是定义两个参数及其值。

ExecuteNonQuery向数据库提交所有内容,并更新您的数据 通常,这是更新数据库的每个命令的方法。

答案 1 :(得分:0)

您可以使用sqlcommand对象构建sql语句并使用参数占位符来分配varable。