初识C#操作Access数据库表

实现目标是给每一个人的籍贯定位,一张表是人名- 籍贯信息,籍贯为明清时的行政区划,另一张表为明--- 今经纬度的知识库表,通过调用这两张表做连接,查看哪些古地名可通过第二张表定位,哪一些不能,不能的情况是否需要修改知识库。

数据库操作第一步:

连接数据库:

public static string StartPath = Application.StartupPath + @"/****.mdb";

// 该数据库包括前面提到的两张表,将其放在Debug 文件下

public static string ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;";

public static string ConnectStr = ConnStr + " Data Source=" + StartPath;

public static OleDbConnection DataConnection = new OleDbConnection(ConnectStr);

 

选取数据库中需要的表(可根据需要通过修改SQL 语句进行筛选):

建数据集DataSet ,从已有数据库中取内容,存储在它的表中。

DataSet objDataset = new DataSet("set");

//Form 中设计一文本框输入表名,****table.Text 为取其内容

string sqlStr = "select * from " + ****table.Text;

// 通过前面的连接DataConnection 连接数据库执行sqlStr

OleDbDataAdapter objAdapter = new OleDbDataAdapter(sqlStr, DataConnection);

//DataAdapter Fill 方法用前面得到的内容填充数据集,并命名存储在表名为A 的表中。

objAdapter.Fill(objDataset, "A");

 

后面就可以进一步了解objdataset.Tables["A"].Rows.Count 或者.Rows[i][j] 等具体信息了。

 

查询用的SQL 语句,在这里用的基本语句:

// 先定义OleDbCommand 类变量,进行连接

OleDbCommand sqlComm = new OleDbCommand();

sqlComm.Connection = DataConnection;

// 定义语句

sqlComm.CommandText = " CREATE TABLE MatchSuccess (ID VARCHAR(40), NAME VARCHAR(40),HOMETOWN_H VARCHAR(40), LAT VARCHAR(40),LON VARCHAR(40));";

// 执行语句

sqlComm.ExecuteNonQuery();

 

特别需要注意的是SQL 语句的写法。方法是先把语句写出来,然后根据那些是程序中提供的变量,将其提出到引号外面。

例如插入语句:

INSERT INTO 表名 ( 列名1, …,列名n)

VALUES( 1 ,值2 ,…,n)

在程序中就是:

sqlComm.CommandText = "insert into MatchFalse (ID,SURNAME,NAME,HOMETOWN_H,KEJUINFOR) "

            + "values ('" + j.ToString() + "','" + surName + "','" + name + "','" + hisplaces + "','" + kejuInfor + "');";

该空格的地方空格不能少 ,例如:

string sqlStr = "select * from " + ****table.Text;

开始我写的是

string sqlStr = "select * from" + ****table.Text;

由于from 后面少了一个空格,它将from 与后面的text 一起读取,得不到表。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值