我缺少什么来完成这个stringbuilder语句? [英] What am I missing to complete this stringbuilder statement?
问题描述
所以,我正在尝试使用字符串构建器为名字,姓氏和中间名创建更新语句。我遇到的问题是它不包括值和列的逗号。为了使其正常工作,我错过了什么?
So, I am trying to make a update statement using string builder for first name, last name and middle name. problem that I am having is that its not including the comma for the values and the columns. What am I missing to complete this statement to make it work appropriately?
Using sqlconn As New SqlConnection("SQLstatement")
Using da As New SqlDataAdapter(String.Empty, sqlconn)
Dim sql As New StringBuilder("insert into [")
sql.Append(Form1.TreeView1.SelectedNode.Text.Replace("]", "\]"))
sql.Append("] ( ")
Dim sbOn As New StringBuilder(") values( ")
Dim andRequired As Boolean = False
If Not String.IsNullOrEmpty(First_NameTextBox.Text) Then
sql.Append(" [First_name]")
sbOn.Append("@Firstname")
If andRequired Then
sbOn.Append(", ")
End If
da.SelectCommand.Parameters.AddWithValue("@Firstname",
First_NameTextBox.Text)
End If
If Not String.IsNullOrEmpty(Last_NameTextBox.Text) Then
sql.Append(" [Last_name]")
sbOn.Append("@Lastname")
If andRequired Then
sbOn.Append(", ")
End If
da.SelectCommand.Parameters.AddWithValue("@Lastname",
Last_NameTextBox.Text)
End If
If Not String.IsNullOrEmpty(Middlenametextbox.Text) Then
sql.Append(" [Middle_name]")
sbOn.Append("@Middlename")
If andRequired Then
sbOn.Append(", ")
End If
da.SelectCommand.Parameters.AddWithValue("@Middlename",
Middlenametextbox.Text)
End If
sql.AppendFormat(sbOn.ToString + ")")
当我使用消息框运行它时会出现这种情况:
插入[table]([First_name] [Last_name] [Middle_name])值(@ First_name @ Last_name @ Middle_name)
你可以看到没有逗号,所以这是一个无效的sql语句。
我尝试过:
我试图在语句中使用布尔值来帮助,但它没有激活逗号。
This is what comes up when I run it with a messagebox:
"insert into [table] ([First_name] [Last_name] [Middle_name]) values(@First_name@Last_name@Middle_name)"
as you can see there is no comma, so this is an invalid sql statement.
What I have tried:
I have tried to use a boolean in the statement to help, but it's not activating the commas.
推荐答案
尝试这样的事情:
Try something like this:
If Not String.IsNullOrEmpty(First_NameTextBox.Text) Then
If andRequired Then
sql.Append(", ")
sbOn.Append(", ")
End If
sql.Append("[First_name]")
sbOn.Append("@Firstname")
da.SelectCommand.Parameters.AddWithValue("@Firstname", First_NameTextBox.Text)
andRequired = True
End If
If Not String.IsNullOrEmpty(Last_NameTextBox.Text) Then
If andRequired Then
sql.Append(", ")
sbOn.Append(", ")
End If
sql.Append("[Last_name]")
sbOn.Append("@Lastname")
da.SelectCommand.Parameters.AddWithValue("@Lastname", Last_NameTextBox.Text)
andRequired = True
End If
If Not String.IsNullOrEmpty(Middlenametextbox.Text) Then
If andRequired Then
sql.Append(", ")
sbOn.Append(", ")
End If
sql.Append("[Middle_name]")
sbOn.Append("@Middlename")
da.SelectCommand.Parameters.AddWithValue("@Middlename", Middlenametextbox.Text)
andRequired = True
End If
这篇关于我缺少什么来完成这个stringbuilder语句?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!