2016-04-04 12 views
-3

Ich habe ein Problem mit meinem Projekt in C# und ich kann wirklich nicht das Problem finden ...falsche Syntax in der Nähe '-' 2

Die Debug sagt:

falsche Syntax nahe ‚- '

Dies ist der problematische Code:

if (!MyAdoHelperCsharp.IsExist("DB.mdf", sql)) 
{  
    insertQuery = "INSERT INTO Tables (TableNum,SitNum,Position,Busy,Sunday-7:00,Sunday-8:00,Sunday-9:00,Sunday-10:00,Sunday-11:00,Sunday-12:00,Sunday-13:00,Sunday-14:00,Sunday-15:00,Sunday-16:00,Sunday-17:00,Sunday-18:00,Sunday-19:00,Sunday-20:00,Sunday-21:00,Sunday-22:00,Monday-7:00,Monday-8:00,Monday-9:00,Monday-10:00,Monday-11:00,Monday-12:00,Monday-13:00,Monday-14:00,Monday-15:00,Monday-16:00,Monday-17:00,Monday-18:00,Monday-19:00,Monday-20:00,Monday-21:00,Monday-22:00,Tuesday-7:00,Tuesday-8:00,Tuesday-9:00,Tuesday-10:00,Tuesday-11:00,Tuesday-12:00,Tuesday-13:00,Tuesday-14:00,Tuesday-15:00,Tuesday-16:00,Tuesday-17:00,Tuesday-18:00,Tuesday-19:00,Tuesday-20:00,Tuesday-21:00,Tuesday-22:00,Wednesday-7:00,Wednesday-8:00,Wednesday-9:00,Wednesday-10:00,Wednesday-11:00,Wednesday-12:00,Wednesday-13:00,Wednesday-14:00,Wednesday-15:00,Wednesday-16:00,Wednesday-17:00,Wednesday-18:00,Wednesday-19:00,Wednesday-20:00,Wednesday-21:00,Wednesday-22:00,Thursday-7:00,Thursday-8:00,Thursday-9:00,Thursday-10:00,Thursday-11:00,Thursday-12:00,Thursday-13:00,Thursday-14:00,Thursday-15:00,Thursday-16:00,Thursday-17:00,Thursday-18:00,Thursday-19:00,Thursday-20:00,Thursday-21:00,Thursday-22:00,Friday-7:00,Friday-8:00,Friday-9:00,Friday-10:00,Friday-11:00,Friday-12:00,Friday-13:00,Friday-14:00) VALUES ('"; 
    insertQuery += tablenum + "','" + SitNum + "','" + position + "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "','" + false+ "')"; 
    MessageBox.Show(insertQuery); 
    MyAdoHelperCsharp.DoQuery("DB.mdf", insertQuery); 
} 

Vielen Dank! Und sorry für den langen Code :)

+3

Versuchen Einwickeln 'Sonntag-7 lesen hilft in Ihren Code ']' so: '[Sonntag-7: 00]'. –

+0

Der Name Ihrer Spalte ist 'Sonntag-7: 00'? – Gnqz

Antwort

0

Das Problem ist, dass Ihre Spaltennamen Operatoren verwenden, die SQL nicht richtig verstehen und denke, tatsächlich versuchen, Berechnungen zu tun, die in diesem Fall ist Sunday - 1:00, die offensichtlich nicht endet up geben eine Antwort und ist tatsächlich ein Fehler insgesamt. Das ist, was den Fehler verursacht

falsche Syntax in der Nähe ‚-‘

Um dies zu beheben, werden alle Felder, die Betreiber, reservierte Schlüsselwörter oder andere ungültige Zeichen enthalten, zB Leerzeichen, müssen Sie enthalten sie in eckigen Klammern, so dass SQL kennt, ist es ein Feldname statt zu raten darüber und dann bekommen es falsch, zum Beispiel

insertQuery = "INSERT INTO Tables (TableNum, SitNum, Position,Busy, [Sunday-7:00], [Sunday-8:00],...)" 

es kann auch sinnvoll sein Putting Zeilenumbrüche 00 'und andere ähnliche Spalten mit `[` und: immer mal wieder, da dies sehr unleserlich dieser langen Strings wie SQL-Anweisungen wie so

insertQuery = "INSERT INTO Tables 
(TableNum,SitNum,Position,Busy, 
[Sunday-7:00],[Sunday-8:00],...)"; 
Verwandte Themen