-1
私の構文が間違っていると言われていますが、すべてがうまく見えます。sqlclient.sqldatareaderを使用しようとするとエラーが発生しますか?
datareaderが使用されている行では、 "And"という単語に誤った構文があると表示されます。
私はそれを無駄に動作させるように試みるために多くの変更を試みました。どんな助け?
SQL: -
Dim sqlline1 As String = String.Format("Select count(debtor_id) As
numbernew, sum(debtor_original_debt) As valuenew, SUM(debtor_balance)
From debtors Where debtor_cohort_id Like {0} + {2} And (debtor_client_id >=
{0} And debtor_client_id <= {1})", clientid_start, clientid_end, Cohort4)
機能もエラーに: -
Public Function populatestringwithsql(command As String) As String
Dim conn As String = "a server connection"
Dim i = 1
Dim fields(15) As String
Dim numberoffields As Integer
Using connObj As New SqlClient.SqlConnection(conn)
Using cmdObj As New SqlClient.SqlCommand(command, connObj)
connObj.Open()
Dim readobj As SqlClient.SqlDataReader = cmdObj.ExecuteReader()
Dim schematable As DataTable = readobj.GetSchemaTable()
readobj.Close()
For Each dr As DataRow In schematable.Rows
numberoffields = schematable.Columns.Count
For Each dc As DataColumn In schematable.Columns
fields(i) = dc.ColumnName
i += 1
Next
Next
Using readerObj As SqlDataReader = cmdObj.ExecuteReader
'This will loop through all returned records
While readerObj.Read
If fields(1) <> "" Then
fields(1) = readerObj(fields(1)).ToString
End If
If fields(2) <> "" Then
fields(2) = readerObj(fields(2)).ToString
End If
If fields(3) <> "" Then
fields(3) = readerObj(fields(3)).ToString
End If
If fields(4) <> "" Then
fields(4) = readerObj(fields(4)).ToString
End If
If fields(5) <> "" Then
fields(5) = readerObj(fields(5)).ToString
End If
If fields(6) <> "" Then
fields(6) = readerObj(fields(6)).ToString
End If
If fields(7) <> "" Then
fields(7) = readerObj(fields(7)).ToString
End If
If fields(8) <> "" Then
fields(8) = readerObj(fields(8)).ToString
End If
If fields(9) <> "" Then
fields(9) = readerObj(fields(9)).ToString
End If
If fields(10) <> "" Then
fields(10) = readerObj(fields(10)).ToString
End If
If fields(11) <> "" Then
fields(11) = readerObj(fields(11)).ToString
End If
If fields(12) <> "" Then
fields(12) = readerObj(fields(12)).ToString
End If
If fields(13) <> "" Then
fields(13) = readerObj(fields(13)).ToString
End If
If fields(14) <> "" Then
fields(14) = readerObj(fields(14)).ToString
End If
If fields(15) <> "" Then
fields(15) = readerObj(fields(15)).ToString
End If
End While
End Using
connObj.Close()
End Using
End Using
Dim stringend As Text.StringBuilder
For Each field In fields
stringend.Append(field)
Next
Return stringend.ToString
End Function
私はすべてのデバッグ道を試してみましたが、運がなかったしています。
SQLのバージョンとフレーバーは?ほとんどのSQLでは、リテラルに中括弧を使うことはできないと思います。それで、なぜあなたは "と"でエラーになっているのですか? –
String.Format変数にはどのような値を入れていますか?私はそれが単一引用符がないことと関係があると考えています... – soohoonigan
@Jacob Hその中括弧はString.Format()で文字列を置換するためのものです – soohoonigan