Sql server 2008 在vb.net中将字符串变量插入sql字符串
我很难将WONum插入到我的sql字符串中。 我试过使用“和双围绕WONum”。也有人提出了建议,但到目前为止还没有任何效果 我一直收到以下错误:“1577”附近的语法不正确 WONum值在运行时实际上是WO-1577,但当执行DA.fill时,我会得到那个错误。我开始认为dash在sql中做了一些我不知道的事情。任何帮助都会有所帮助,因为我必须在我的应用程序中执行更多类似的功能Sql server 2008 在vb.net中将字符串变量插入sql字符串,sql-server-2008,vb.net-2010,Sql Server 2008,Vb.net 2010,我很难将WONum插入到我的sql字符串中。 我试过使用“和双围绕WONum”。也有人提出了建议,但到目前为止还没有任何效果 我一直收到以下错误:“1577”附近的语法不正确 WONum值在运行时实际上是WO-1577,但当执行DA.fill时,我会得到那个错误。我开始认为dash在sql中做了一些我不知道的事情。任何帮助都会有所帮助,因为我必须在我的应用程序中执行更多类似的功能 Public Function GetTechTimes(ByVal WONum As String) D
Public Function GetTechTimes(ByVal WONum As String)
Dim strSQL As String = "Select customer_name, workorder_work_to_be_performed, workorder_work_performed, workorder_notes, workorder_warranty_work, workorder_open_date, workorder_status,workorder_completion_date, wo_tech_name, wo_tech_time, wo_parts_description from Customers, workorders, WorkOrder_Technicians, WorkOrder_Parts Where(customer_id = workorder_customer And wo_tech_wo_id = workorder_id And wo_parts_wo_id = workorder_id And workorder_number = " & WONum & ""
Dim DA As New SqlDataAdapter(strSQL, Conn)
Dim DS As New DataSet
DA.Fill(DS, "TechTimes")
Return DS
End Function
只要workorder_编号是一个字符串,那么在WONum周围加上单引号就是你所需要的
您不需要使用括号或方括号
如果单报价不起作用,请确保正确识别/隔离了问题。从sql末尾删除和workorder_number=&WONum&并查看没有它是否可以工作。如果不是,那么你的问题不在WONum中,而是在字符串的前面。只要workorder\u编号是一个字符串,那么在WONum周围加上单引号就是你所需要的
您不需要使用括号或方括号
如果单报价不起作用,请确保正确识别/隔离了问题。从sql末尾删除和workorder_number=&WONum&并查看没有它是否可以工作。如果不是,那么您的问题不在WONum中,而是在字符串的前面。使用!这将避免转换或其他问题,更重要的是防止
请注意,我还使用了语句来确保即使在出现异常的情况下,也会对所有语句进行处理
顺便说一句,您出现异常的原因是:您这里有一个打开的括号:Wherecustomer\u id,它从未关闭过。使用!这将避免转换或其他问题,更重要的是防止
请注意,我还使用了语句来确保即使在出现异常的情况下,也会对所有语句进行处理
顺便说一句,您出现异常的原因是:您在这里有一个大括号:Wherecustomer\u id,它从未关闭过。这是否可能选择。。。来自客户、工单、工单技师、工单零件?这是否可能选择。。。来自客户、修工单、修工单技术人员、修工单零件?谢谢,伙计,单身“确实有效,但这不是真正的问题。这是一个误入歧途的字符串。@user1983938在这种情况下+1从我到Tim,他发现Thank man,single“确实有效,但这不是真正的问题。这是一个误会。@user1983938在这种情况下,我给Tim的+1,他发现了,先生,如果你不介意的话,我只是想问,客户、工单、工单技术人员、工单零件的查询是什么?谢谢,我听不懂你的问题。来自客户、工单、工单技术人员、工单零件的什么样的查询?我的意思是选择。。表,表,表,这就是我们所说的从多个表中选择吗?对不起,我的问题是:@spajce:我不知道是否有人打电话来选择多个表。通常我会说连接表。但是,连接表的旧式方法是一种新方法。我本可以向您展示更好的JOIN sql,但我不知道您的模式—列名PK,FK.wow。。谢谢你的回答,直到这个问题被提出,我才知道,再次感谢你,先生,如果你不介意的话,我只想问一下,客户、修工单、修工单技术人员、修工单零件的查询是什么?谢谢,我听不懂你的问题。来自客户、工单、工单技术人员、工单零件的什么样的查询?我的意思是选择。。表,表,表,这就是我们所说的从多个表中选择吗?对不起,我的问题是:@spajce:我不知道是否有人打电话来选择多个表。通常我会说连接表。但是,连接表的旧式方法是一种新方法。我本可以向您展示更好的JOIN sql,但我不知道您的模式—列名PK,FK.wow。。谢谢你提供了非常翔实的答案,在这个问题提出之前,我不知道这件事,再次感谢你,先生:
Public Function GetTechTimes(ByVal WONum As String) As DataSet
Dim strSQL As String = "SELECT customer_name, " & Environment.NewLine & _
"workorder_work_to_be_performed," & Environment.NewLine & _
"workorder_work_performed, " & Environment.NewLine & _
"workorder_notes, " & Environment.NewLine & _
"workorder_warranty_work, " & Environment.NewLine & _
"workorder_open_date, " & Environment.NewLine & _
"workorder_status, " & Environment.NewLine & _
"workorder_completion_date," & Environment.NewLine & _
"wo_tech_name, " & Environment.NewLine & _
"wo_tech_time, " & Environment.NewLine & _
"wo_parts_description" & Environment.NewLine & _
"FROM(customers," & Environment.NewLine & _
" workorders," & Environment.NewLine & _
" workorder_technicians," & Environment.NewLine & _
" workorder_parts)" & Environment.NewLine & _
"WHERE customer_id = workorder_customer " & Environment.NewLine & _
"AND wo_tech_wo_id = workorder_id " & Environment.NewLine & _
"AND wo_parts_wo_id = workorder_id " & Environment.NewLine & _
"AND workorder_number = @workorder_number "
Using con = New SqlConnection(YourConnectionString)
Using da = New SqlDataAdapter(strSQL, con)
da.SelectCommand.Parameters.AddWithValue("@workorder_number", WONum)
Dim DS As New DataSet
da.Fill(DS)
Return DS
End Using
End Using
End Function