2016-03-20 20 views
0

私はまだ調査し、調査していますが、解決策を見つけることはできません。私はエンコーディングのために同様の問題を抱えている人々を読んだことがありますが、私はクエリを再入力しようとしましたが、Notepad ++の中でUTF-8に変換して使用しました。何か案は?SQL Serverの "構文が正しくない" WHEREステートメント

エラー:

Incorrect syntax near 'NEW'.

問合せ:

Dim conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & updates_mdb & ";Jet OLEDB:Database Password=" & Settings.Password & ";") 
+4

.netとsqlサーバーを使用している場合、なぜoleDbとJetを使用しますか? 'SqlClient'を使います。これにより、あなたの問題も解決する可能性があります。 –

+0

JetはMicrosoft Access用であり、SQL Server用ではありません。プロバイダを変更する必要があります。 – Greg

答えて

1

不適切なドライバを使用してSQLサーバーに接続しています。

あなたはMS Access Jet Engineを使用しています。しかし、これは別のSQL構文を使用しているため、動作しません。

SQL Server OLEDBドライバを使用するだけで動作します。

-1

を削除します。これは、VB.NETプログラムの内部で実行されている

delete from [orgDefaults] 
where ([orgcode] = N'NEW') 
    and ([ctlName] = N'AllowReportables') 

私は、このOLEDBドライバを使用して作成しましたNEWの後ろのN

DELETE FROM [orgDefaults] WHERE ([orgcode] = 'NEW') AND ([ctlName] = 'AllowReportables') 
+0

申し訳ありませんが、私が試したすべてのクエリ形式の組み合わせが含まれているはずです。 Nを削除すると、同じエラーが発生します。私は問題を解決し、そこに残していると思ってNを含めました。 DELETE FROM orgDefaults WHERE orgcode = 'NEW' AND ctlName = 'AllowReportables' – user3125278

+0

orgcodeとctlnameのデータ型は何ですか? –

+0

OrgCode = nvarchar(50)およびCtlName = nvarchar(50) – user3125278

0

ちょうどそれのハックのために、これを試してみてください。

Using conn As New SqlConnection("sqlServer Conn string - connectionstrings.com") 
    Dim sql As String = "DELETE FROM [orgDefaults] WHERE [orgcode] = @1 AND [ctlName] = @2" 
    Using cmd As New SqlCommand(sql, conn) 
     cmd.Parameters.AddWithValue("@1", "NEW") 
     cmd.Parameters.AddWithValue("@2", "AllowReportables") 
     cmd.CommandType = CommandType.Text 
     conn.Open() 
     Dim retVal As Integer = cmd.ExecuteNonQuery() 
     If retVal > 0 Then 
      Debug.WriteLine("Success - deleted 1 or more records") 
      ' remeber, retVal may not match num of rows deleted. 
      ' Rather, it indicates total rows affected 
     Else 
      Debug.WriteLine("Still Success - deleted Nothing") 
     End If 
    End Using 
End Using 

SQLは、この方法は、より良い自分の価値観とフィールドタイプと一致します実行しているため、[あなたには、いくつかの「特別な」問題を持っている場合]これはあなたに、より良い画像を与える必要があります。

関連する問題