用联合查询即可,不必用表A。
1)总部数据库用链接表方式导入下属部门数据库中的表B和表C
2)建立联合查询。在sql视图中输入:
select from 表B
union select from 表C
3)运行这个联合查询即可
另,如一定要导入到表A,则需先运行删除查询清除表A数据,然后运行追加查询,将这个联合查询中的数据追加到表A中
代码如下:
import javasqlConnection;
import javasqlDriverManager;
import javasqlResultSet;
import javasqlPreparedStatement;
import javasqlResultSetMetaData;
import javasqlSQLException;
public class TestDemo {
public static Connection getConnection() {
Connection conn = null;
try {
ClassforName("commysqljdbcDriver");
String url = "jdbc:mysql://数据库IP地址:3306/数据库名称";
String user = "数据库用户名";
String pass = "数据库用户密码";
conn = DriverManagergetConnection(url, user, pass);
} catch (ClassNotFoundException e) {
eprintStackTrace();
} catch (SQLException e) {
eprintStackTrace();
}
return conn;
}
public static void main(String[] args) {
Connection conn = getConnection();
String sql = "select from AccessType";
PreparedStatement stmt;
try {
stmt = connprepareStatement(sql);
ResultSet rs = stmtexecuteQuery(sql);
ResultSetMetaData data = rsgetMetaData();
for (int i = 1; i <= datagetColumnCount(); i++) {
// 获得所有列的数目及实际列数
int columnCount = datagetColumnCount();
// 获得指定列的列名
String columnName = datagetColumnName(i);
// 获得指定列的列值
int columnType = datagetColumnType(i);
// 获得指定列的数据类型名
String columnTypeName = datagetColumnTypeName(i);
// 所在的Catalog名字
String catalogName = datagetCatalogName(i);
// 对应数据类型的类
String columnClassName = datagetColumnClassName(i);
// 在数据库中类型的最大字符个数
int columnDisplaySize = datagetColumnDisplaySize(i);
// 默认的列的标题
String columnLabel = datagetColumnLabel(i);
// 获得列的模式
String schemaName = datagetSchemaName(i);
// 某列类型的精确度(类型的长度)
int precision = datagetPrecision(i);
// 小数点后的位数
int scale = datagetScale(i);
// 获取某列对应的表名
String tableName = datagetTableName(i);
// 是否自动递增
boolean isAutoInctement = dataisAutoIncrement(i);
// 在数据库中是否为货币型
boolean isCurrency = dataisCurrency(i);
// 是否为空
int isNullable = dataisNullable(i);
// 是否为只读
boolean isReadOnly = dataisReadOnly(i);
// 能否出现在where中
boolean isSearchable = dataisSearchable(i);
Systemoutprintln(columnCount);
Systemoutprintln("获得列" + i + "的字段名称:" + columnName);
Systemoutprintln("获得列" + i + "的类型,返回SqlType中的编号:"+ columnType);
Systemoutprintln("获得列" + i + "的数据类型名:" + columnTypeName);
Systemoutprintln("获得列" + i + "所在的Catalog名字:"+ catalogName);
Systemoutprintln("获得列" + i + "对应数据类型的类:"+ columnClassName);
Systemoutprintln("获得列" + i + "在数据库中类型的最大字符个数:"+ columnDisplaySize);
Systemoutprintln("获得列" + i + "的默认的列的标题:" + columnLabel);
Systemoutprintln("获得列" + i + "的模式:" + schemaName);
Systemoutprintln("获得列" + i + "类型的精确度(类型的长度):" + precision);
Systemoutprintln("获得列" + i + "小数点后的位数:" + scale);
Systemoutprintln("获得列" + i + "对应的表名:" + tableName);
Systemoutprintln("获得列" + i + "是否自动递增:" + isAutoInctement);
Systemoutprintln("获得列" + i + "在数据库中是否为货币型:" + isCurrency);
Systemoutprintln("获得列" + i + "是否为空:" + isNullable);
Systemoutprintln("获得列" + i + "是否为只读:" + isReadOnly);
Systemoutprintln("获得列" + i + "能否出现在where中:"+ isSearchable);
}
} catch (SQLException e) {
eprintStackTrace();
}
}
}
Public conn As New ADODBConnection
Public Rs As New ADODBRecordset
Public db As String
Private sSQL As String
Private Sub Form1_Load(ByVal sender As SystemObject, ByVal e As SystemEventArgs) Handles MyBaseLoad
db = "C:\Documents and Settings\ws01\デスクトップ\新しいフォルダ\WindowsApplication1\db1mdb"
db = "Provider=MicrosoftJetOLEDB40;Persist Security Info=False;Data Source=" & db
connCursorLocation = ADODBCursorLocationEnumadUseClient
connOpen(db)
Rs = connOpenSchema()
End Sub
你好,
首先,不管是中文的表名和字段名或者英文的表名字段名在数据库中对应的sql的写法都是相同的。
比如:
有一张表名:
员工表
字段:姓名,年龄,性别
sql语句的写法:
select
姓名,年龄,性别
from
员工表
这样的语句就可了。
希望对你有所帮助!
1连接Access数据库代码!版本
2
支持库
eDB
如果
(数据库连接连接Access
(MDB数据库,
“”)
=
真)
记录集置连接
(数据库连接)
排序条件
=
“字段,表名,条件”
如果
(记录集打开并排序
(MDB数据表,
排序条件)
=
真)
否则
销毁
()
2填充树形框字段到父项目代码!版本
2
支持库
eDB
支持库
iext局部变量
分类变量,
文本型
局部变量
树项目总数,
整数型
局部变量
树循环循环,
整数型
局部变量
临时项目文本,
文本型
局部变量
是否存在重复,
整数型
记录集到首记录
()
判断循环首
(记录集尾记录后
=
假)
记录集读文本
(“字段”,
分类变量)
树项目总数
=
树型框取项目数
()
如果
(树项目总数
=
0)
树型框加入项目
(,
分类变量,
,
,
)
否则
计次循环首
(树项目总数,
树循环循环)
临时项目文本
=
树型框取项目文本
(树循环循环
-
1)
如果
(临时项目文本
=
分类变量)
是否存在重复
=
1
跳出循环
()
否则
是否存在重复
=
0
如果结束
树循环循环
=
树循环循环
+
1
计次循环尾
()
如果真
(是否存在重复
=
0)
树型框加入项目
(,
分类变量,
,
,
)
如果真结束
如果结束
记录集到下一条
()
判断循环尾
()
3填充表名到树形框子项目并过滤树形框存在的重复项!版本
2
支持库
iext
支持库
eDB局部变量
原项目变量,
整数型
局部变量
原项目循环,
整数型
局部变量
项目数组,
文本型,
,
"0"
局部变量
原项目文本,
文本型
局部变量
新项目变量,
整数型
局部变量
新项目循环,
整数型
局部变量
新项目文本,
文本型
局部变量
新项目标题,
文本型
局部变量
过滤语句,
文本型
局部变量
文本数组,
文本型,
,
"0"
局部变量
文本变量,
文本型
局部变量
数组成员,
整数型
局部变量
数组循环,
整数型
局部变量
次数数量,
整数型
局部变量
项目变量,
整数型
局部变量
循环变量,
整数型
局部变量
次数循环,
整数型
原项目变量
=
树型框取项目数
()
原项目循环
=
1
计次循环首
(原项目变量,
原项目循环)
加入成员
(项目数组,
树型框取项目文本
(原项目循环
-
1))
计次循环尾
()
数组成员
=
取数组成员数
(项目数组)原项目文本
=
项目数组
[数组循环]
过滤语句
=
“字段”
+
“=”
+
“'”
+
原项目文本
+
“'”
如果
(记录集过滤记录
(过滤语句)
=
真)
次数数量
=
记录集记录数量
清除数组
(文本数组)
计次循环首
(次数数量,
次数循环)
记录集读文本
(“表名称”,
文本变量)
加入成员
(文本数组,
文本变量)
次数循环
=
次数循环
+
1
记录集到下一条
()
计次循环尾
()
项目变量
=
树型框取项目数
()
计次循环首
(项目变量,
循环变量)
树型框置项目数值
(循环变量
-
1,
循环变量)
计次循环尾
()否则
下面的事例中,查询记录集rst为查询的表1的全部记录。
如果只有1条记录,可以用rst(0)得到第1个字段的值、rst(1)得到第2个字段的值……以此类推。
Dim
rst
As
Recordset
Set
rst
=
CurrentDbOpenRecordset("SELECT
FROM
表1;")
MsgBox
rst(0)
数据库使用二维表存储数据,它不像电子表格那样,具有固定的行号和列号。相对于电子表格来讲,它的列号相当于各个字段名,但是它没有固定的列号,垂直方向的坐标需要由各个记录行的字段值来确定。
获取数据表某些单元的数据,一般可以用SQL选择查询,选定输出字段加上筛选条件选字段来确定,例如
select 课程 from 课程表 where 课程id='001';
如果数据表具有唯一约束的列,例如主键或带唯一索引的字段,那么我们就可以用该列名或者说是字段名(横向坐标)加列值(纵向坐标)来精确定位某个记录单元。但是如果不存在唯一标识列的情况下,我们就无法精确定位到某个记录单元了 因为它会返回多个记录行。其实用电子表格单元格的概念去理解数据库表,并不是一个好主意,电子表格和数据库的用途不同,各有各的强项。但就数据处理的能力来讲,数据库要远较电子表格强大,前者关注于数据的储存、管理,和检索,后者关注于数据的展示。请注意现实中数据库中的数据的使用是要通过应用程序来体现的,例如从数据库检索出数据导入到excel做进一步处理并某种外观予以展示。
以上就是关于如何查询出ACCESS中表A的所有字段名全部的内容,包括:如何查询出ACCESS中表A的所有字段名、Java 中获得Access 数据库中的表名和表中的列名 及每个列的数据类型、用VB.NET连接ACCESS取出ACCESS中的所有表名和字段名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)