代码如下:
dbconn = new OleDbConnection(@"provider=microsoft.jet.oledb.4.0; Data Source=输入法.mdb");//选择创建文件虚拟库
dbconn.Open();
string s = textBox1.Text;
OleDbCommand cmd = new OleDbCommand("select * from Sheet1 where 英文字段1 like 'a%c' ", dbconn);
OleDbDataReader Reader = cmd.ExecuteReader();//建立新的读取对象
Reader.Read();
MessageBox.Show(Reader["英文字段1"].ToString() + "," + Reader["英文字段2"].ToString());
上面就是我得代码,但是输出值时,只输出了“abc,七”,可是我要的结果应该是:“abc,七和ac,人”,应该这两个结果都满足我的要求啊。为什么现在只输出一个。不明白我得代码哪里写错了,请大神帮忙看看!!!
我得Access数据库是这样的
英文字段1 英文字段2
a 一
ab 四
abc 七
ac 人
dbconn = new OleDbConnection(@"provider=microsoft.jet.oledb.4.0; Data Source=输入法.mdb");//选择创建文件虚拟库
dbconn.Open();
string s = textBox1.Text;
OleDbCommand cmd = new OleDbCommand("select * from Sheet1 where 英文字段1 like 'a%c' ", dbconn);
OleDbDataReader Reader = cmd.ExecuteReader();//建立新的读取对象
Reader.Read();
MessageBox.Show(Reader["英文字段1"].ToString() + "," + Reader["英文字段2"].ToString());
上面就是我得代码,但是输出值时,只输出了“abc,七”,可是我要的结果应该是:“abc,七和ac,人”,应该这两个结果都满足我的要求啊。为什么现在只输出一个。不明白我得代码哪里写错了,请大神帮忙看看!!!
我得Access数据库是这样的
英文字段1 英文字段2
a 一
ab 四
abc 七
ac 人
{
MessageBox.Show(string.Format("{0},{1}", Reader["英文字段1"].ToString(), Reader["英文字段2"].ToString()));
}
试试这样看 ...
这个方法是前进到下一条记录并返回一个布尔值
只要下面还有内容就会返回true一直到到结束
至于想知道结果有几个什么的话你可以在循环的时候做一个计数
表达式什么的SQL我不是很懂...但是从你之前提问的描述看了应该是正确的,只是不知道你这么写效率和安全性如何
你可以试着参考一下 sp1234 的说明