吉吉于

C#每天抄一点(33):数据库信息记录单

我想贴Jeon Soo Yeon的版本,晶莹剔透的声音。但虾米没有,另寻列侬原唱,带着特有的发黄的音色,心里一阵悸动,眼睛有点湿润的感觉。
OleDbDataAdapter.Fill 方法
OleDbDataAdapter.Fill (Int32, Int32, DataTable[])
在 DataTable 中添加或刷新行以匹配使用 DataTable 名称、指定的 SQL SELECT 语句和 CommandBehavior 的数据源中的行。

其他各种重载方法    MSDN
代码注释里边有几个地方时我猜的,不一定正确。

001 /*
002 * 由SharpDevelop创建。
003 * 用户: Lazynight
004 * 日期: 2011/10/30
005 * 时间: 20:12
006 *
007 * 要改变这种模板请点击 工具|选项|代码编写|编辑标准头文件
008 */
009 using System;
010 using System.Collections.Generic;
011 using System.Drawing;
012 using System.Windows.Forms;
013 using System.Data;
014 using System.Data.OleDb;
015
016 namespace Lazy33_数据库信息记录单
017 {
018
019     public partial class MainForm : Form
020     {
021         OleDbConnection Olecon;
022         OleDbDataAdapter OleDat;
023         DataTable dt;
024         int MaxValue = ;
025         int State = 1;
026         string ConStr;
027         public MainForm()
028         {
029             InitializeComponent();
030         }
031         private void showInfo(int first ,int next)
032         {
033              dt = new DataTable();
034             //定义DataTable对象实例
035             OleDat = new OleDbDataAdapter(“select * from LazyData”, ConStr);
036             //Select查询语句
037             OleDat.Fill(first, next, dt);
038             //调用Fill方法, DataSet中添加或刷新行
039             this.textBox1.Text = dt.Rows[][1].ToString();
040             //第一行第一列
041             this.textBox2.Text = dt.Rows[][2].ToString();
042             //第一行第二列
043             this.textBox3.Text = dt.Rows[][3].ToString();
044             //第一行第三列
045             this.textBox4.Text = dt.Rows[][4].ToString();
046             //第一行第四列
047             this.textBox5.Text = dt.Rows[][5].ToString();
048             //第一行第五列
049         }
050         void Button1Click(object sender, EventArgs e)
051         {
052             showInfo(, 1);
053             //调用showInfo函数,显示第一行,next为1,即第二行
054             State = 1;
055         }
056
057         void Button2Click(object sender, EventArgs e)
058         {
059               if (State <= 1)
060             {
061                 MessageBox.Show(“已经是第一条记录”, “信息提示”, MessageBoxButtons.OK, MessageBoxIcon.Information);
062                 //提示对话框
063             }
064             else
065             {
066                 showInfo(State - 1, State);
067                 //调用showInfo函数,显示第State – 1行,下一行为state
068                 State = State - 1;
069             }
070         }
071
072         void Button3Click(object sender, EventArgs e)
073         {
074              if (State >= MaxValue)
075             {
076                 MessageBox.Show(“已经是最后一条记录”, “信息提示”, MessageBoxButtons.OK, MessageBoxIcon.Information);
077                 //提示对话框
078             }
079             else
080             {
081                 showInfo(State, State + 1);
082                 //调用showInfo函数
083                 State = State + 1;
084             }
085         }
086
087         void Button4Click(object sender, EventArgs e)
088         {
089             showInfo(MaxValue - 1, MaxValue);
090             //调用showInfo函数
091             State = MaxValue;
092         }
093
094         void Button5Click(object sender, EventArgs e)
095         {
096             this.Close();
097         }
098
099         void MainFormLoad(object sender, EventArgs e)
100         {
101              //连接数据库的路径及数据库名
102             string strPath = Application.StartupPath + “\\Lazy_Data.accdb”;
103             //生成连接数据库字符串
104             ConStr = “Provider=Microsoft.ACE.OLEDB.12.0; Data source=” + strPath;
105             Olecon = new OleDbConnection(ConStr);
106             Olecon.Open();
107             //创建OleDbConnection对象实例并打开
108             MaxValue = Convert.ToInt32(new OleDbCommand(“select Count(*) from LazyData”, Olecon).ExecuteScalar());
109             //利用OleDbCommand对象实例得到数据库表中记录总数
110             Olecon.Close();
111             //关闭OleDbConnection对象实例
112             showInfo(, 1);
113             //调用showInfo函数
114         }
115     }
116 }

下载源码

转载请注明:于哲的博客 » C#每天抄一点(33):数据库信息记录单