C# 获取SqLite数据库表信息以及获取表内字段信息
#region 最新数据表信息显示事件
/// <summary>
/// 最新数据表信息显示事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void showNewSqliteInfo_Click(object sender, EventArgs e)
{
if (newDB)
{
connectionString = string.Format(@"Data Source={0};Version=3;", ndb_Path);
using (SQLiteConnection conn = new SQLiteConnection(connectionString))
{
conn.Open();
DataTable schemaTable = conn.GetSchema("TABLES");
// 移除数据表中特定的列
schemaTable.Columns.Remove("TABLE_CATALOG");
// 设定特定列的序号
schemaTable.Columns["TABLE_NAME"].SetOrdinal();
this.new_dataGridView1.DataSource = schemaTable;
newClickState = false;
}
}
else
{
MessageBox.Show("您未选择数据库!!!");
}
}
#endregion
在winform窗体中点击表格单元格获取表名,然后获取该表中字段名称信息
#region 获取每个新表中字段的信息双击事件
/// <summary>
/// 获取每个新表中字段的信息双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void new_dataGridView1_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == )
{
try
{
using (SQLiteConnection conn = new SQLiteConnection(connectionString))
{
conn.Open();
DataTable table = conn.GetSchema("TABLES");
if (table != null && table.Rows.Count > )
{
string tableName = this.new_dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
newTableName = tableName;
DataTable schemaTable = GetReaderSchema(tableName, conn);
newClickState = true;
this.new_dataGridView1.DataSource = schemaTable;
}
}
}
catch (Exception msg)
{
throw msg;
}
}
}
#endregion
#region 获取相应数据库中表的信息
/// <summary>
/// 获取相应数据库中表的信息
/// </summary>
/// <param name="tableName"></param>
/// <param name="connection"></param>
/// <returns></returns>
private DataTable GetReaderSchema(string tableName, SQLiteConnection connection)
{
DataTable schemaTable = null;
IDbCommand cmd = new SQLiteCommand();
cmd.CommandText = string.Format("select * from [{0}]", tableName);
cmd.Connection = connection;
using (IDataReader reader = cmd.ExecuteReader(CommandBehavior.KeyInfo | CommandBehavior.SchemaOnly))
{
schemaTable = reader.GetSchemaTable();
}
return schemaTable;
}
#endregion
C# 获取SqLite数据库表信息以及获取表内字段信息的更多相关文章
- 获取sqlserver数据库中所有库、表、字段名的方法
获取sqlserver数据库中所有库.表.字段名的方法 2009年03月12日 星期四 下午 12:51 1.获取所有数据库名: SELECT Name FROM Master..SysDatabas ...
- Delphi 2010下使用sqlitesimpledelphi连接SQLite数据库及中文乱码问题的解决
应女朋友的要求,要写一款销售管理的软件.用于管理服装店每天的销售记录,已及管理服装店的客户,并对客户进行生日提醒 因为之前使用C#写过一款家庭管理软件,主要是自己用,所以使用了服务器型数据库MySQL ...
- [转载] SQL获取所有数据库名、表名、储存过程以及参数列表
查询一个数据库中所有表字段属性的sql语句 1.获取所有用户名: SELECT name FROM Sysusers where status='2' and islogin='1' is ...
- android中sqlite数据库的基本使用和添加多张表
看了很多关于android使用sqlite数据库的文章,很多都是介绍了数据库的建立和表的建立,而表通常都是只建立一张,而实际情况我们用到的表可能不止一张,那这种情况下我们又该怎么办呢,好了,下面我教大 ...
- 用Python进行SQLite数据库操作
简单的介绍 SQLite数据库是一款非常小巧的嵌入式开源数据库软件,也就是说没有独立的维护进程,所有的维护都来自于程序本身.它是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经 ...
- Python操作SQLite数据库的方法详解
Python操作SQLite数据库的方法详解 本文实例讲述了Python操作SQLite数据库的方法.分享给大家供大家参考,具体如下: SQLite简单介绍 SQLite数据库是一款非常小巧的嵌入式开 ...
- [python]用Python进行SQLite数据库操作
用Python进行SQLite数据库操作 1.导入Python SQLITE数据库模块 Python2.5之后,内置了SQLite3,成为了内置模块,这给我们省了安装的功夫,只需导入即可~ ]: u ...
- 使用JDBC获取各数据库的Meta信息——表以及对应的列
先贴代码,作为草稿: 第一个是工具类, MapUtil.java [java] view plain copy import java.util.ArrayList; import java.util ...
- SQL获取数据库名,表名,列名,说明等信息
由于最近工作涉及SQL语句较多,对一些不常见的SQL函数.及存储过程下面进行整理和描述,供大家分享: /************************************************ ...
随机推荐
- 【Hihocoder】1014 : Trie树
问题:http://hihocoder.com/problemset/problem/1014 给定一个字符串字典dict,输入字符串str, 要求从dict中找出所有以str为前缀的字符串个数. 构 ...
- 第三章 Odoo基本设置
登录 正常访问http://localhost:8069后,登录的界面如下: 这是Odoo默认的认证方式,也是我们最常见最熟悉的认证方式,7.0以前,数据库中的密码都是以明文方式存储,可以很轻松地在r ...
- iPhone6的CSS3媒体查询
@media only screen and (min-device-width: 375px) and (max-device-width: 667px) and (orientation : po ...
- 关于使用QQ、新浪微博、腾讯微博等第三方登录网站的开发过程(二)
(二).新浪微博登录 1. 首先在新浪微博开放平台注册成为开发者.[http://open.weibo.com/connect] 具体自己填写一些相关信息就OK! 2. 注册成功之后,点击[微连接], ...
- Linux_shell脚本_遍历文件夹下所有文件
参考:lunar1983的专栏 实现:从给定目录树中grep出含制定字符串的行,并给出所在路径 代码如下所示: #!/bin/sh - if [ $# -ne 2 ] then echo " ...
- 一次熬夜解决的java乱码问题
在java API中String有一个方法 public byte[] getBytes() Encodes this String into a sequence of bytes using t ...
- String-自定义功能
<script> /* *发现js中的String对象有限,想要对字符串操作的其他功能. *比如:去除字符串两端的空格.这时只能自.定义 */ //去除字符串两端的空格 function ...
- Apache Spark技术实战之4 -- 利用Spark将json文件导入Cassandra
欢迎转载,转载请注明出处. 概要 本文简要介绍如何使用spark-cassandra-connector将json文件导入到cassandra数据库,这是一个使用spark的综合性示例. 前提条件 假 ...
- js弹窗
常用人JS弹窗,lhgDialog 4.20
- jquery中.attr('value')和.val()的区别
.val() 能够取到 针对text,hidden可输入的文本框的value值. 而 .attr('value') 可以取到html元素中所设置的属性 value的值,不能获取动态的如input ty ...