C# 查询mysql数据库中的表
conn=newMySqlConnection();;//实例化数据库连接(instanced)conn=newMySqlConnection("DataSource=l...
conn = new MySqlConnection(); ; // 实例化数据库连接(instanced)
conn = new MySqlConnection("DataSource=localhost;Database=test;Username=root;Password="); // 配置连接(configured)
conn.Open();
string tablename = "教材";
myadp = new MySqlDataAdapter("select * from tablename", conn);
ds = new DataSet(); // 填充和绑定数据
myadp.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
代码在 myadp.Fill(ds, tablename); 这一行报错,说:Table 'test.tablename' doesn't exist
但是如果把
myadp = new MySqlDataAdapter("select * from tablename", conn);
写成
myadp = new MySqlDataAdapter("select * from 教材", conn);
就完全没有问题。
请问代码怎么改才能运行正确呢? 展开
conn = new MySqlConnection("DataSource=localhost;Database=test;Username=root;Password="); // 配置连接(configured)
conn.Open();
string tablename = "教材";
myadp = new MySqlDataAdapter("select * from tablename", conn);
ds = new DataSet(); // 填充和绑定数据
myadp.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
代码在 myadp.Fill(ds, tablename); 这一行报错,说:Table 'test.tablename' doesn't exist
但是如果把
myadp = new MySqlDataAdapter("select * from tablename", conn);
写成
myadp = new MySqlDataAdapter("select * from 教材", conn);
就完全没有问题。
请问代码怎么改才能运行正确呢? 展开
3个回答
展开全部
select * from 【表名】
说明你名为[test]的数据库中没有名为[tablename]的表。
查询数据库[test]中的表名用这句:
SELECT table_name FROM information_schema.tables WHERE table_schema='test'
说明你名为[test]的数据库中没有名为[tablename]的表。
查询数据库[test]中的表名用这句:
SELECT table_name FROM information_schema.tables WHERE table_schema='test'
更多追问追答
追问
我没把问题说清楚。
我的mysql的数据库中有个名为“教材”的表。还有一个名为“参考书”的表。
我想利用一个combox控件来选择我是从“教材”表中查询,还是从“参考书”表中查询。
但是在查找数据库代码部分调试的时候我就遇到问题了。用变量表示的表名 myadp = new MySqlDataAdapter("select * from tablename", conn);这个语句不识别。
追答
你的sql语句是:select * from tablename
里面的tablename不是一个表名,就这个意思。
Table 'test.tablename' doesn't exist
表 ‘test.tablename’不存在,
因为你test里面只有‘test.教材’表和‘test.参考书’表或者你还有‘test.借阅记录’表等。
但就是没有‘test.tablename’!
你想要的大概可以这么写:
myadp = new MySqlDataAdapter("select * from "+combobox.Text, conn);
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的表名是什么,这里就应该是什么,当然不能随便乱写的,后面之所以正常就是因为你有个表叫做“教材”,不太清楚你想做什么,建议安装一个navicat for mysql中文版,进数据库看看。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把数据库表中的属性换一下,然后再来试下,应该就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询