表1 查询出ID值,有5行怎样将5行数据读取出去,将5行ID值 作为条件向表2查询(同服务器,不同数据库),得到表2所有结果显示到datagridview,怎样实现呢?
6条回答 默认 最新
- ilmss 2022-03-15 09:50关注
Step 1. 添加引用System.Data.SQLite. 注意需要复制SQLite.Interop.dll至运行目录下;
Step 2. 定义变量public partial class Form1 : Form { SQLiteConnection mConn; SQLiteDataAdapter mAdapter; DataTable mTable; public Form1() { InitializeComponent(); } }
Step 3. 连接数据库,并查找数据库中表显示到cboTables
private void Form1_Load(object sender, EventArgs e) { //连接数据库. string mDbPath = Application.StartupPath + "/northwind.db"; //如果数据库不存在,则自动创建. mConn = new SQLiteConnection("Data Source=" + mDbPath); //打开数据库文件. mConn.Open(); //创建表[Test Table]. // id - Unique Counter - Key Field (Required in any table) // FirstName - Text // Age - Integer using (SQLiteCommand mCmd = new SQLiteCommand ("CREATE TABLE IF NOT EXISTS [Test Table] " + "(id INTEGER PRIMARY KEY AUTOINCREMENT, 'FirstName' TEXT, 'Age' INTEGER);", mConn)) { mCmd.ExecuteNonQuery(); } //获取数据库中表. //表 "Tables"中字段 "TABLE_NAME" 包含所有表名信息. using (DataTable mTables = mConn.GetSchema("Tables")) // "Tables"包含系统表详细信息; { for (int i = 0; i < mTables.Rows.Count; i++) { cboTables.Items.Add(mTables.Rows[i].ItemArray[mTables.Columns.IndexOf("TABLE_NAME")].ToString()); } if (cboTables.Items.Count > 0) { cboTables.SelectedIndex = 0; // 默认选中第一张表. } } }
Step 4. 选择cboTables中表名,点击Ok,获取该表详细信息显示到grdDetail中。
private void btnOk_Click(object sender, EventArgs e) { mAdapter = new SQLiteDataAdapter("SELECT * FROM [" + cboTables.Text + "]", mConn); mTable = new DataTable(); // Don't forget initialize! mAdapter.Fill(mTable); // 绑定数据到DataGridView grdDetail.DataSource = mTable; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥30 Hyper-v虚拟机相关问题,求解答。
- ¥15 TSM320F2808PZA芯片 Bootloader
- ¥45 谷歌浏览器出现开发者工具无法显示已创建的,但您可以调试已部署的代码。 状态代码 404, net::ERR HTTP RESPONSE CODE FAILURE
- ¥15 chatgpt网页版侧边栏和模型切换点击没反应怎么办
- ¥15 如何解决蓝牙通话音频突发失真问题
- ¥15 安装opengauss数据库报错
- ¥15 【急】在线问答CNC雕刻机的电子电路与编程
- ¥60 在mc68335芯片上移植ucos ii 的成功工程文件
- ¥15 笔记本外接显示器正常,但是笔记本屏幕黑屏
- ¥15 Python pandas