I have a situation, I have a Access table named Gas Flow Rates that I want to add records. When I try to run my insert query for a similar table Common Station, I get the following error:
"error hy000: syntax error, in query incomplete query clause"
Code is:
using System;
using System.Data.Odbc;
class MainClass
{
static void Main(string[] args)
{
string connectionString = "Dsn=Gas_meter";
string sqlins = "";
OdbcConnection conn = new OdbcConnection(connectionString);
OdbcCommand cmdnon = new OdbcCommand(sqlins, conn);
conn.Open();
try
{
cmdnon.CommandText = "INSERT INTO 'Common station' ( S1Flow, S2Flow, S3Flow, S4Flow) VALUES (9999,999, 999, 999)";
//Once the above line works replace it with cmdnon.CommandText= "INSERT INTO Gas Flow Rates ( S1Flow, S2Flow, S3Flow, S4Flow) VALUES (9999,999, 999, 999)"
int rowsAffected = cmdnon.ExecuteNonQuery();
Console.WriteLine(rowsAffected);
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
finally
{
conn.Close();
}
}
}
How do I overcome that error?
To select a column name with spaces, use the back tick symbol with column name. The symbol is ( ` `). Back tick is displayed in the keyboard below the tilde operator ( ~).
Do not use spaces in your table names either. While most database systems can handle names that include spaces, systems such as SQL Server require you to add brackets around the name when referencing it (like [table name] for example) which goes against the rule of keeping things as short and simple as possible.
Space in the database object name Incorrect syntax near the keyword 'Table'. To fix this error, we can specify the table name in the Square bracket. Alternatively, you can specify the table name in between double-quotes (“).
Table names can contain any valid characters (for example, spaces).
Surround the spaced out item with square brackets:
[Common station]
Then slap the guy who designed the database.
SELECT * FROM [My Crazy Table With Spaces and Other Chars!]
Use brackets to "quote" table and field names.
cmdnon.CommandText = "INSERT INTO '[Common station]' ( S1Flow, S2Flow, S3Flow, S4Flow) VALUES (9999,999, 999, 999)";
//Once the above line works replace it with cmdnon.CommandText= "INSERT INTO Gas Flow Rates ( S1Flow, S2Flow, S3Flow, S4Flow) VALUES (9999,999, 999, 999)"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With