先用InStr(表名,字段名,字符)定位出字符在这个字段中第一次出现的位置。
然后再用LEFT()去取左边的字符。
Left(字段,instr(字段,a)-1)上面这函数表示,比如字段是这样的132a12312fdsf,它就截取132,即a前面的所有字符。
string sqltext="select from huiyuan where"
OleDbCommand cmd = new OleDbCommand(sqltext, conn);
OleDbDataReader reader = cmdExecuteReader();
readerRead();
if (readerHasRows)
{
textbox1text=reader["pwd"]toString();
}
readerClose();
connClose();
数据库使用二维表存储数据,它不像电子表格那样,具有固定的行号和列号。相对于电子表格来讲,它的列号相当于各个字段名,但是它没有固定的列号,垂直方向的坐标需要由各个记录行的字段值来确定。
获取数据表某些单元的数据,一般可以用SQL选择查询,选定输出字段加上筛选条件选字段来确定,例如
select 课程 from 课程表 where 课程id='001';
如果数据表具有唯一约束的列,例如主键或带唯一索引的字段,那么我们就可以用该列名或者说是字段名(横向坐标)加列值(纵向坐标)来精确定位某个记录单元。但是如果不存在唯一标识列的情况下,我们就无法精确定位到某个记录单元了 因为它会返回多个记录行。其实用电子表格单元格的概念去理解数据库表,并不是一个好主意,电子表格和数据库的用途不同,各有各的强项。但就数据处理的能力来讲,数据库要远较电子表格强大,前者关注于数据的储存、管理,和检索,后者关注于数据的展示。请注意现实中数据库中的数据的使用是要通过应用程序来体现的,例如从数据库检索出数据导入到excel做进一步处理并某种外观予以展示。
程序有问题呀,你的查询返回了login表中的所有数据,在判断用户名是否存在表中时,只读取了第一条,只要第一条记录的用户名不是你输入的那个用户名,a==username就不会成立。要用一个循环依次读取所有记录来判断才行。
建议在查询时以用户名为条件查询,这样只在查询后检查dr是否返回数据就可以判断用户名存不存在了。
string
username
=
textbox1texttostring();
string
password
=
textbox2texttostring();
string
=
"select
from
login
where
username='"
+
username
+
"'";
sqlconnection
conn
=
new
sqlconnection(connstring);
connopen();
sqlcommand
cmd
=
new
sqlcommand(qq,
conn);
sqldatareader
dr
=
cmdexecutereader();
if
(drhasrows)
//判断dr是否返回了一行或多行数据
{
messageboxshow("用户名已存在,请重新输入!");
}
else
{
。。。。。。
}
用Inner
Join
或Outer
Join等将数据库连接起来,然后select出你想要的数据
举个例子你就能知道了!
A表(a1,b1,c1)
B表(a2,b2)
a1
b1
c1
a2
b2
01
数学
95
01
张三
02
语文
90
02
李四
03
英语
80
04
王五
select
A,B
from
A
inner
join
B
on(Aa1=Ba2)
结果是:
a1
b1
c1
a2
b2
01
数学
95
01
张三
02
语文
90
02
李四
以上就是关于access数据库怎么提取某一列左侧两位数全部的内容,包括:access数据库怎么提取某一列左侧两位数、怎么提取数据库里某字段的值、如何提取ACCESS数据库中某表中某一单元的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)