我需要帮助将变量从我的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做到吗?
答案 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。