'Query a table that has spaces in its name
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?
Solution 1:[1]
SELECT * FROM [My Crazy Table With Spaces and Other Chars!]
Use brackets to "quote" table and field names.
Solution 2:[2]
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)"
Solution 3:[3]
Late to the party I know, but have just solved my own issue here... Playing in access 2007 using ODBC connection to an SQL Db.
Table name is Employee_Appointment Extra Detail Custom Syntax to select is as follows SQlRecordSet.Open "Select * from [Employee].[Appointment Extra Detail Custom]", Conn, adOpenStatic, adLockOptimistic
Hope this saves someone else a few hours of playing!
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Mike Caron |
| Solution 2 | ChrisBint |
| Solution 3 | steve |
