C#数据库操作
来源:互联网 发布:网络终端遗传因子 编辑:程序博客网 时间:2024/05/16 18:44
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Data.OleDb;//连接Access数据库using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Diagnostics;//调试输出Trace.WriteLinenamespace WindowsFormsApplication1{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } //连接数据库 OleDbConnection conn; private void button1_Click(object sender, EventArgs e) { try { string ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=mine.mdb;Persist Security Info=False"; conn = new OleDbConnection(ConStr); conn.Open(); if (conn.State == ConnectionState.Open) { label1.Text = "连接数据库成功"; } } catch { MessageBox.Show("连接数据库失败"); } } //关闭数据库 private void button2_Click(object sender, EventArgs e) { try { conn.Close(); if (conn.State == ConnectionState.Closed) { label1.Text = "关闭数据库成功"; } } catch { MessageBox.Show("关闭数据库失败"); } } //Command的用法--执行SQL语句 private void button3_Click(object sender, EventArgs e) { try { OleDbCommand cmd = new OleDbCommand(); cmd.Connection = conn; cmd.CommandText = "INSERT INTO info (Name, Age,Place) VALUES ('Wilson', '12','beijing')"; cmd.CommandType = CommandType.Text; //int i = Convert.ToInt32(cmd.ExecuteNonQuery()); int i = cmd.ExecuteNonQuery();//返回受影响的行数 string iStr = string.Format("有{0}行受影响", i.ToString()); toolStripStatusLabel1.Text = iStr; } catch(Exception ex) { MessageBox.Show(ex.Message); } } //DataReader对象是一个简单的数据集,用于从数据源中检索只读数据集,常用于检索大量数据。 private void button4_Click(object sender, EventArgs e) { try { OleDbCommand cmd = new OleDbCommand(); cmd.Connection = conn; cmd.CommandText = "select * from info"; cmd.CommandType = CommandType.Text; OleDbDataReader drNew = cmd.ExecuteReader(); string[] parm=new string[4]; if (drNew.HasRows) { while (drNew.Read()) { Trace.WriteLine(drNew[1]); } } drNew.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } //DataSet的创建。可以把DataSet当成内存中的数据库,DataSet是不依赖于数据库的独立数据集合 DataSet ds; int i = 0;//当前行 int j = 0;//行数 DataTable dtInfo; private void DisPlay() { DataRow dr = dtInfo.Rows[i]; textID.Text = dr[0].ToString(); textName.Text = dr[1].ToString(); textAge.Text = dr[2].ToString(); textPlace.Text = dr[3].ToString(); } private void button5_Click(object sender, EventArgs e) { try { ds = new DataSet(); OleDbDataAdapter daNew = new OleDbDataAdapter("select * from info", conn); daNew.Fill(ds); toolStripStatusLabel1.Text = "创建DataSet成功!"; } catch(Exception ex) { toolStripStatusLabel1.Text = ex.Message; } dtInfo = ds.Tables[0]; foreach (DataColumn dc in dtInfo.Columns) Trace.WriteLine(dc.ColumnName);//调试输出列名 foreach (DataRow row in dtInfo.Rows) Trace.WriteLine(row[0]);//调试输出第一列数据 j = dtInfo.Rows.Count;//获取数据库的行数 DisPlay(); } //向上翻页 private void button6_Click(object sender, EventArgs e) { if (i > 0) { i--; DisPlay(); } else { toolStripStatusLabel1.Text = "当前为第一页!"; } } //向下翻页 private void button7_Click(object sender, EventArgs e) { if (i < j-1) { i++; DisPlay(); } else toolStripStatusLabel1.Text = "已到尾页!"; } //添加数据 private void button8_Click(object sender, EventArgs e) { try { OleDbCommand cmd = new OleDbCommand(); cmd.Connection = conn; string cmdStr = string.Format("INSERT INTO info (Name,Age,Place) VALUES ('{0}','{1}','{2}')", textName.Text, textAge.Text, textPlace.Text); cmd.CommandType = CommandType.Text; cmd.CommandText = cmdStr; int i = cmd.ExecuteNonQuery();//返回受影响的行数 toolStripStatusLabel1.Text="添加数据成功!"; //更新数据库,与之前代码一样的 try { if (conn.State == ConnectionState.Open) { conn.Close(); string ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=mine.mdb;Persist Security Info=False"; conn = new OleDbConnection(ConStr); conn.Open(); } } catch { MessageBox.Show("连接数据库失败"); } try { ds = new DataSet(); OleDbDataAdapter daNew = new OleDbDataAdapter("select * from info", conn); daNew.Fill(ds); toolStripStatusLabel1.Text = "创建DataSet成功!"; } catch (Exception ex) { toolStripStatusLabel1.Text = ex.Message; } dtInfo = ds.Tables[0]; foreach (DataColumn dc in dtInfo.Columns) Trace.WriteLine(dc.ColumnName);//调试输出列名 foreach (DataRow row in dtInfo.Rows) Trace.WriteLine(row[0]);//调试输出第一列数据 j = dtInfo.Rows.Count;//获取数据库的行数 } catch (Exception ex) { MessageBox.Show(ex.Message); } } }}程序打包下载地址:http://pan.baidu.com/s/1dDuw84h
0 0
- C#数据库操作
- C#数据库操作
- C#操作ACCESS数据库
- C#数据库操作类
- C#操作数据库总结
- c#操作ACCESS数据库
- C#数据库操作
- C#数据库操作
- C#操作DBF数据库
- C#中数据库操作
- c#数据库操作类
- C#操作ACCESS数据库
- C#数据库操作类
- C#操作数据库
- c#操作Access数据库
- C# 操作ACCESS数据库
- C# 操作ACCESS数据库
- C#操作Sybase数据库
- 双向循环链表
- wodeboke dizhi
- linux内核的idle进程分析
- wodeboke dizhi
- 递归全排序排列
- C#数据库操作
- 一线和准一线城市比较知名的互联网公司
- 《代码大全》读后感(2) 程序工作不正常总是有原因的
- [PHP]Magic methods in PHP
- OCP-1Z0-053-200题-125题-155
- vc6做对对碰外挂原理
- poj 3295——Tautology
- iOS 创建与删除文件夹
- 正则表达式用法