很多情形下我们需要知道表的主键是什么 在ADO Net中提供了DataTable可以映射数据库的表 于是便可以利用DataTable的属性PrimaryKey 它是DataColumn[] 类型是一个数组 我们可以使用如下的代码
DataColumn[] cols cols = Table PrimaryKey //注意不是cols是DataColumn数组 不是DataColumn变量 这样做主要是为了处理联合主键的问题
for(int i = i <cols Length i++)
{ MessageBox Show(cols[i] ColumnName) }
按理这个问题就已经解决了 但是cols Length却是 原来在默认的情况下填充DataTable时并没有从数据库中取的主键的信息 如何获得主键呢?经过研究发现在填充Dataset的时候可以使用DataAdapter的MissingSchemaAction属性帮助我们解决这个问题 于是有如下的代码
//使用DataAdapter填充DataTable dataadapter MissingSchemaAction = MissingSchemaAction AddWithKey dataadapter Fill(Table)
DataColumn[] cols cols = Table PrimaryKey //注意不是cols是DataColumn数组 不是DataColumn变量 这样做主要是为了处理联合主键的问题
for(int i = i <cols Length i++)
{ MessageBox Show(cols[i] ColumnName) }
lishixinzhi/Article/program/net/201311/13602JDBC *** 作数据库其实只要掌握了六大步骤就基本差不多啦:
1.加载驱动
Class.forName(String)
String(驱动器的名称,分oracle,sql server等数据库驱动)
2.创建连接
DriverManager.getConnection(url,userName,passwd)
url是数据库的地址,后面分别是用户名和密码
3.创建会话statement(三种statement)
stmt(Statement):所有stmt的父类从connection对象获得,主要用于解析执行sql语句,返回响应结果,多执行异构的sql语句
pstmt(preparedStatement):主要用于执行同构的sql语句,stmt的子类。
cstmt:主要用于执行plsql的编程对象
4.执行sql语句
executeQuery()
5.处理结果集(有结果集返回,无则可省去,比如插入和删除)
ResultSet rs = 步骤4的结果
6.释放资源即连接,一般些在finally语句块中,目的是减轻服务器的压力
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)