【发布时间】:2017-01-13 07:41:47
【问题描述】:
private DataTable zGetTableContent(string tablename)
{
DataTable dt = new DataTable();
Connection.Open();
MessageBox.Show(tablename);
Adapter = new OleDbDataAdapter("SELECT * FROM '%" + tablename + "%'", Connection);
Adapter.Fill(dt);
Connection.Close();
return dt;
}
试图让上面的代码正常工作,但遇到了困难。我想我对字符串做错了。但不知道是什么。
字符串完美地传递给方法。 MessageBox 显示正确的字符串。但我的适配器说
查询中的语法错误。查询子句不完整
如果我自己输入表名,一切正常。
编辑:
连接的数据库(Access):
static private OleDbConnection Connection = new OleDbConnection();
private void zPrepConnect(string SourceFile)
{
Connection.ConnectionString = String.Format("Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source = {0};", SourceFile);
Command.Connection = Connection;
}
编辑#2: 表名如下:
- rstw
- simis 是
- simis w
- simis c
编辑#3: 从表名中删除了空格,但仍然无法正常工作:
- rstw
- simis_is
- simis_w
- simis_c
【问题讨论】:
-
你要查询什么数据库?
-
tablename的值是多少?这就是错误所在。
-
"SELECT * FROM " + tablename + "怎么样