1、查询数据库(test)中的所有表名的方法:
SELECT name
FROM [test]sysobjects where xtype='U'
补充:
如果有的表不存在时间那就用下面的语句直接把含有时间列的表名找到:
SELECT dname
FROM [test]syscolumns a
inner join [test]sysobjects d on aid=did and dxtype='U' and aname='时间'
2、遍历这个表名取出数据插入到另外的数据库中(SqlServer中的遍历方法我不是很清楚,给你提供个思路,oracle的话我就能把程序写出来了O(∩_∩)O~)。
如:遍历结果存储到数据库test2中
insert into [test2]遍历出的表名 select from 遍历出的表名 where datediff(day,'2009-08-07',时间)>0;
重复上面的sql语句指导讲数据库test中的表名完全遍历完为止。
补充:我试验了一下下面把实验代码给你(建一个存储过程)
create proc test as
--定义游标变量
declare cur1 cursor for
SELECT dname
FROM [test]syscolumns a
inner join [test]sysobjects d on aid=did and dxtype='U' and aname='时间'
--定义临时变量
declare @tmp varchar(1000)
--定义sql字符串
declare @strsql varchar(4000)
--打开游标
open cur1
--读取第一条数据,也就是第一个表名
fetch next from cur1 into @tmp
--是读完
while(@@fetch_status = 0)
begin
--连接sql文
set @strsql='insert into [test2]'+@tmp++' select from '+@tmp+' where datediff(day,'+char(39)+'2009-08-07'+char(39)+',时间)>0'
--执行这个sql
exec(@strsql)
--读取下一条数据
fetch next from cur1 into @tmp
end
--关闭游标
close cur1
--摧毁游标所占资源
deallocate cur1
---
以上,希望对你有所帮助。
不清楚你到底是要怎么定位?感觉你问题没说清楚。
比如你在数据库是一列的数据,你是都需要读取到一个页面还是只选择特定的。
选择由sql语句判断,完成后reponse到页面按规则读就行了。
android读取数据库可以使用sqlite一些api进行读取,实例如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/
查找一条数据
@param uid
/
public User find(Integer uid){
SQLiteDatabase db=dbOpenHelpergetReadableDatabase(); //创建数据库辅助类
Cursor cursor =dbrawQuery("select from user where uid=", new String[]{uidtoString()}); //创建一个游标
if(cursormoveToFirst()){ //循环遍历查找数组
int uid2=cursorgetInt(cursorgetColumnIndex("uid"));
String uname=cursorgetString(cursorgetColumnIndex("uname"));
String uaddress=cursorgetString(cursorgetColumnIndex("uaddress"));
User user=new User();
usersetUid(uid2);
usersetUname(uname);
usersetUaddress(uaddress);
return user;
}
cursorclose();
return null;
}
哎呀,你这样子提问题真的不好回答。你学过什么了?会哪些东西?做一个数据库相关的程序,大致过程就是下面这样子:
首先要连接到数据库,比如
Java
就是用
JDBC。
然后打开一个连接,Java
中就是一个
Connection。
创建一个查询,开始查询数据库
遍历查询的结果,这里就是你上面要做的,挨个赋值
最后一定要记住关闭查询和连接,释放资源。
在
Net,PHP,Python
也是类似的。
不过,在实际开发中,可不是这样了,不仅效率太低而且程序不好维护。
VB与数据库连接可以使用数据库控件进行,也可以引用ADO对象,数据库控件的使用比较简单,下面我就介绍使用ADO对象进行连接,首先打开"工程-引用",选择其中的Microsoft ActiveX Data Objects 20 Library(20以上版本都可以): \x0d\ACCESS数据库名为"学生mdb"其中有张数据库表名为"表",下面就介绍如何使用代码进行连接到数据库"学生",代码如下: \x0d\Function Connection() As String \x0d\'数据库的连接字符设置 \x0d\Connection = "Provider=MicrosoftJetOLEDB40;Data Source=" & AppPath + "\学生mdb" \x0d\End Function \x0d\数据库"学生mdb"在当前目录下,故使用APPPath \x0d\Private Sub Form_Load() \x0d\Dim mr As New ADODBRecordset \x0d\Dim cnn As New ADODBConnection \x0d\Dim Sql As String \x0d\Sql="select from 表" \x0d\cnnOpen Connection '使用cnn对象打开数据库连接 \x0d\mrOpen Sql, cnn, adOpenKeyset, adLockOptimistic \x0d\'打开数据库记录 \x0d\If mreof then \x0d\msgbox "数据库表为空!" \x0d\else \x0d\msgbox "数据库表不为空!" \x0d\end if \x0d\set mr=nothing \x0d\'关闭记录对象 \x0d\set cnn=nothing \x0d\'关闭连接对象 \x0d\End Sub \x0d\OK,程序到此,已经能成功地访问数据库了,并能打开数据库中的表
以上就是关于怎么能把数据库里的数据提取出来。全部的内容,包括:怎么能把数据库里的数据提取出来。、如何读取数据库里的数值呢、android 怎么读取数据库中的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)