当前位置:首页 > 芯闻号 > 充电吧
[导读]1.使用DataReader方式读取资料[csharp]view plaincopy StringconnString=ConfigurationManager.ConnectionSt

1.使用DataReader方式读取资料

[csharp]view plaincopy StringconnString=ConfigurationManager.ConnectionStrings["astt"].ConnectionString; //如果数据库连接字符串有加密,可以经过解密后重新获得连接字符串 DbConnectionStringBuilderconnBuilder=newDbConnectionStringBuilder(); connBuilder.ConnectionString=connString; connBuilder["DataSource"]=connBuilder["DataSource"];//可加上解密方法 connBuilder["UserID"]=connBuilder["UserID"];//可加上解密方法 connBuilder["Password"]=connBuilder["Password"];//可加上解密方法 connString=connBuilder.ConnectionString; using(OleDbConnectionconn=newOleDbConnection(connString)) { try { conn.Open(); using(OleDbCommandcmd=newOleDbCommand()) { cmd.CommandText="select*froms_usermwhererownum<=?"; cmd.CommandType=CommandType.Text; cmd.Connection=conn; cmd.Parameters.Add("?",OleDbType.Integer).Value=5;//cmd.Parameters.Add(newOleDbParameter("?",5)); using(OleDbDataReaderreader=cmd.ExecuteReader()) { while(reader.Read()) { MessageBox.Show(reader.GetString(1),"资料"); } } } conn.Close(); } catch(Exceptionex) { MessageBox.Show(ex.Message,"error"); return; } }


2.使用DataAdapter与DataSet方式读取资料.

[csharp]view plaincopy StringconnString=ConfigurationManager.ConnectionStrings["astt"].ConnectionString; using(OleDbConnectionconn=newOleDbConnection(connString)) { try { using(OleDbCommandcmd=newOleDbCommand()) { cmd.CommandText="select*froms_usermwhererownum<=?"; cmd.CommandType=CommandType.Text; cmd.Connection=conn; cmd.Parameters.Add("?",OleDbType.Integer).Value=5;//cmd.Parameters.Add(newOleDbParameter("?",5)); DataSetds=newDataSet(); OleDbDataAdapteradapter=newOleDbDataAdapter(cmd); adapter.Fill(ds,"s_userm"); foreach(DataRowdrinds.Tables[0].Rows) { MessageBox.Show(Convert.ToString(dr["user_nm"]),"资料"); } //listBox1.DataSource=ds.Tables[0].DefaultView; //listBox1.DisplayMember="user_nm"; //listBox1.ValueMember="user_no"; listBox1.DataSource=ds; listBox1.DisplayMember="s_userm.user_nm"; listBox1.ValueMember="s_userm.user_no"; dataGridView1.DataSource=ds.Tables[0].DefaultView; dataGridView1.ReadOnly=true; } } catch(Exceptionex) { MessageBox.Show(ex.Message,"error"); return; } }


3.使用DataAdapter与DataSet对单表的增删改查,根据Command的查询语法,使用CommandBuilder自动生成增删改的语法.

[csharp]view plaincopy StringconnString=ConfigurationManager.ConnectionStrings["astt"].ConnectionString; using(OleDbConnectionconn=newOleDbConnection(connString)) { OleDbCommandcmd=newOleDbCommand(); cmd.CommandText="select*froms_usermwhererownum<=?"; cmd.CommandType=CommandType.Text; cmd.Connection=conn; cmd.Parameters.Add("?",OleDbType.Integer).Value=5; OleDbDataAdapteradapter=newOleDbDataAdapter(cmd); //使用DataAdapter更新单表,可以使用CommandBuilder来自动生成InsertCommand,UpdateCommand,DeleteCommand OleDbCommandBuildercmdbuilder=newOleDbCommandBuilder(adapter);//将自动生成InsertCommand,UpdateCommand,DeleteCommand MessageBox.Show(cmdbuilder.GetUpdateCommand().CommandText,"updcommand"); //select DataSetds=newDataSet(); adapter.Fill(ds,"s_userm"); dataGridView1.DataSource=ds.Tables["s_userm"].DefaultView; //insert DataRowupdateRow=ds.Tables["s_userm"].NewRow(); updateRow["user_no"]="TEST1"; updateRow["user_nm"]="test1"; ds.Tables["s_userm"].Rows.Add(updateRow); adapter.Update(ds,"s_userm"); MessageBox.Show(Convert.ToString(ds.Tables["s_userm"].Rows[0]["user_no"]),"user"); //update ds.Tables[0].Rows[1]["EMAIL"]="gymsoft@163.com"; adapter.Update(ds,"s_userm"); //delete ds.Tables["s_userm"].Rows[0].Delete(); adapter.Update(ds,"s_userm"); }


4.使用DataAdapter与DataSet进行增删改查,手动指定增删改查的语法。

[csharp]view plaincopy StringconnString=ConfigurationManager.ConnectionStrings["astt"].ConnectionString; using(OleDbConnectionconn=newOleDbConnection(connString)) { DataSetds=newDataSet(); OleDbDataAdapteradapter=newOleDbDataAdapter(); //指定DataAdapter的select语句 OleDbCommandselectCmd=newOleDbCommand(); selectCmd.CommandText="select*froms_usermwhererownum<=?"; selectCmd.CommandType=CommandType.Text; selectCmd.Connection=conn; selectCmd.Parameters.Add("?",OleDbType.Integer).Value=5; adapter.SelectCommand=selectCmd; //指定DataAdapter的Insert语句 OleDbCommandinsertCmd=newOleDbCommand(); insertCmd.CommandText="insertintos_userm(user_no,user_nm)values(?,?)"; insertCmd.CommandType=CommandType.Text; insertCmd.Connection=conn; insertCmd.Parameters.Add("?",OleDbType.VarChar,30,"user_no"); insertCmd.Parameters.Add("?",OleDbType.VarChar,80,"user_nm"); adapter.InsertCommand=insertCmd; //指定DataAdapter的Update语句 OleDbCommandupdateCmd=newOleDbCommand(); updateCmd.CommandText="updates_usermsetemail=?whereuser_no=?"; updateCmd.CommandType=CommandType.Text; updateCmd.Connection=conn; updateCmd.Parameters.Add("?",OleDbType.VarChar,50,"email"); OleDbParameterparmUpdPk=updateCmd.Parameters.Add("?",OleDbType.VarChar,30,"user_no"); parmUpdPk.SourceVersion=DataRowVersion.Original; adapter.UpdateCommand=updateCmd; //指定DataAdapter的Delete语句 OleDbCommanddeleteCmd=newOleDbCommand(); deleteCmd.CommandText="deletefroms_usermwhereuser_no=?"; deleteCmd.CommandType=CommandType.Text; deleteCmd.Connection=conn; OleDbParameterparmDelPk=deleteCmd.Parameters.Add("?",OleDbType.VarChar,30,"user_no"); parmDelPk.SourceVersion=DataRowVersion.Original; adapter.DeleteCommand=deleteCmd; MessageBox.Show(adapter.SelectCommand.CommandText,"command"); //select adapter.Fill(ds,"s_userm"); dataGridView1.DataSource=ds.Tables["s_userm"].DefaultView; //insert DataRowupdateRow=ds.Tables["s_userm"].NewRow(); updateRow["user_no"]="TEST2"; updateRow["user_nm"]="test2"; ds.Tables["s_userm"].Rows.Add(updateRow); adapter.Update(ds,"s_userm"); MessageBox.Show(Convert.ToString(ds.Tables["s_userm"].Rows[3]["user_no"]),"user"); //update ds.Tables[0].Rows[3]["EMAIL"]="gymsoft@163.com"; adapter.Update(ds,"s_userm"); //delete ds.Tables["s_userm"].Rows[3].Delete(); adapter.Update(ds,"s_userm"); }


5.使用DataGridView绑定数据源进行编辑,使用DataAdapter与DataSet进行增删改查,手动指定增删改查的语法。

[csharp]view plaincopy publicpartialclassForm1:Form { StringconnString; OleDbConnectionconn; DataSetds; OleDbDataAdapteradapter; publicForm1() { InitializeComponent(); } privatevoidbuttonQuery_Click(objectsender,EventArgse) { connString=ConfigurationManager.ConnectionStrings["astt"].ConnectionString; conn=newOleDbConnection(connString); ds=newDataSet(); adapter=newOleDbDataAdapter(); //指定DataAdapter的select语句 OleDbCommandselectCmd=newOleDbCommand(); selectCmd.CommandText="select*froms_usermwhererownum<=?"; selectCmd.CommandType=CommandType.Text; selectCmd.Connection=conn; selectCmd.Parameters.Add("?",OleDbType.Integer).Value=5; adapter.SelectCommand=selectCmd; //指定DataAdapter的Insert语句 OleDbCommandinsertCmd=newOleDbCommand(); insertCmd.CommandText="insertintos_userm(user_no,user_nm)values(?,?)"; insertCmd.CommandType=CommandType.Text; insertCmd.Connection=conn; insertCmd.Parameters.Add("?",OleDbType.VarChar,30,"user_no"); insertCmd.Parameters.Add("?",OleDbType.VarChar,80,"user_nm"); adapter.InsertCommand=insertCmd; //指定DataAdapter的Update语句 OleDbCommandupdateCmd=newOleDbCommand(); updateCmd.CommandText="updates_usermsetemail=?whereuser_no=?"; updateCmd.CommandType=CommandType.Text; updateCmd.Connection=conn; updateCmd.Parameters.Add("?",OleDbType.VarChar,50,"email"); OleDbParameterparmUpdPk=updateCmd.Parameters.Add("?",OleDbType.VarChar,30,"user_no"); parmUpdPk.SourceVersion=DataRowVersion.Original; adapter.UpdateCommand=updateCmd; //指定DataAdapter的Delete语句 OleDbCommanddeleteCmd=newOleDbCommand(); deleteCmd.CommandText="deletefroms_usermwhereuser_no=?"; deleteCmd.CommandType=CommandType.Text; deleteCmd.Connection=conn; OleDbParameterparmDelPk=deleteCmd.Parameters.Add("?",OleDbType.VarChar,30,"user_no"); parmDelPk.SourceVersion=DataRowVersion.Original; adapter.DeleteCommand=deleteCmd; //MessageBox.Show(adapter.SelectCommand.CommandText,"command"); //select adapter.Fill(ds,"s_userm"); dataGridView1.DataSource=ds.Tables["s_userm"].DefaultView; } privatevoidbuttonSave_Click(objectsender,EventArgse) { adapter.Update(ds,"s_userm"); ds.Clear(); adapter.Fill(ds,"s_userm"); dataGridView1.DataSource=ds.Tables["s_userm"].DefaultView; } }


6.使用DataAdapter与DataSet,以事务的方式进行增删改查。

[csharp]view plaincopy StringconnString=ConfigurationManager.ConnectionStrings["astt"].ConnectionString; using(OleDbConnectionconn=newOleDbConnection(connString)) { DataSetds=newDataSet(); OleDbDataAdapteradapter=newOleDbDataAdapter(); //指定DataAdapter的select语句 OleDbCommandselectCmd=newOleDbCommand(); selectCmd.CommandText="select*froms_usermwhererownum<=?"; selectCmd.CommandType=CommandType.Text; selectCmd.Connection=conn; selectCmd.Parameters.Add("?",OleDbType.Integer).Value=5; adapter.SelectCommand=selectCmd; //指定DataAdapter的Insert语句 OleDbCommandinsertCmd=newOleDbCommand(); insertCmd.CommandText="insertintos_userm(user_no,user_nm)values(?,?)"; insertCmd.CommandType=CommandType.Text; insertCmd.Connection=conn; insertCmd.Parameters.Add("?",OleDbType.VarChar,30,"user_no"); insertCmd.Parameters.Add("?",OleDbType.VarChar,80,"user_nm"); adapter.InsertCommand=insertCmd; //指定DataAdapter的Update语句 OleDbCommandupdateCmd=newOleDbCommand(); updateCmd.CommandText="updates_usermsetemail=?whereuser_no=?"; updateCmd.CommandType=CommandType.Text; updateCmd.Connection=conn; updateCmd.Parameters.Add("?",OleDbType.VarChar,50,"email"); OleDbParameterparmUpdPk=updateCmd.Parameters.Add("?",OleDbType.VarChar,30,"user_no"); parmUpdPk.SourceVersion=DataRowVersion.Original; adapter.UpdateCommand=updateCmd; //指定DataAdapter的Delete语句 OleDbCommanddeleteCmd=newOleDbCommand(); deleteCmd.CommandText="deletefroms_usermwhereuser_no=?"; deleteCmd.CommandType=CommandType.Text; deleteCmd.Connection=conn; OleDbParameterparmDelPk=deleteCmd.Parameters.Add("?",OleDbType.VarChar,30,"user_no"); parmDelPk.SourceVersion=DataRowVersion.Original; adapter.DeleteCommand=deleteCmd; //MessageBox.Show(adapter.SelectCommand.CommandText,"command"); conn.Open(); using(OleDbTransactiontran=conn.BeginTransaction(IsolationLevel.ReadCommitted)) { adapter.SelectCommand.Transaction=tran; adapter.InsertCommand.Transaction=tran; adapter.UpdateCommand.Transaction=tran; adapter.DeleteCommand.Transaction=tran; try { //select adapter.Fill(ds,"s_userm"); dataGridView1.DataSource=ds.Tables["s_userm"].DefaultView; //insert DataRowupdateRow=ds.Tables["s_userm"].NewRow(); updateRow["user_no"]="TEST2"; updateRow["user_nm"]="test2"; ds.Tables["s_userm"].Rows.Add(updateRow); adapter.Update(ds,"s_userm"); //MessageBox.Show(Convert.ToString(ds.Tables["s_userm"].Rows[3]["user_no"]),"user"); //update ds.Tables[0].Rows[3]["EMAIL"]="gymsoft@163.com"; adapter.Update(ds,"s_userm"); //delete ds.Tables["s_userm"].Rows[3].Delete(); adapter.Update(ds,"s_userm"); tran.Commit(); } catch(Exceptionex) { try { tran.Rollback(); } catch(Exceptionexc) { MessageBox.Show(exc.Message,"error"); } MessageBox.Show(ex.Message,"error"); } } conn.Close(); }

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

目前主流的面向对象的编程语言C#、C++、Java; 一、C#的特点: C#在带来对应用程序的快速开发能力的同时,并没有牺牲C与C++程序员所关心的各种特性。它忠实地继承了C和C++的优点。如果你对C

关键字: c# 面向对象编程

作者:朱金灿来源:http://blog.csdn.net/clever101         什么是好的开发语言和好的开发框架?这个问题可能一千个人有一千种答案,我的答案是在满足用户效率需要的前提下

关键字: c# QT

关于边缘改进全局阈值处理基本实现是: 1.先计算其边界,利用拉普拉斯或者梯度变换都以。 2.计算变化后边界图像的绝对值3.指定一个阈值(一般以百分比的形式指定,比如我指定90%,如果存在有灰度k,灰度

关键字: c# 函数

DES加密应该是最基础的加密算法。DES一共就有4个参数参与运作:明文、密文、密钥、向量。为了初学者容易理解,可以把4个参数的关系写成:密文=明文+密钥+向量;明文=密文-密钥-向量。为什么要向量这个

关键字: c# des算法

用过C#的人,一般都知道委托和事件。如果没有用过C#,我在这里简单解释一下委托,如果用过了,下面可以skip。委托是一个方法声明,我们知道,在C语言中,可以通过函数指针表示一个地址的CALL方法,委托

关键字: c# c++

我刚用C#一个来月,可能理解得不对,还请大家指教。读懂文章你需要对C语言的指针有所理解。需要注意区别:对C\C++来说,任何类型都可以当成C#的“引用类型”,因为有指针。【在内存上】void foo(

关键字: c#

最近有段时间因为有个项目一直需要Socket数据传输。所以呢没办法就整了一套Socket最简单的版本出来。以便自己日后方便使用。我遇到的程序Socket是通过Tcp Ip的方式进行数据传输的.不多说先

关键字: c# socket

C#中的Invoke  转载▼在用.NET Framework框架的WinForm构建GUI程序界面时,如果要在控件的事件响应函数中改变控件的状态,例如:某个按钮上的文本原先叫“打开”,单击之后按钮上

关键字: .net c#

引言HTTP协议我想任何IT人士都耳熟能详了,大家都能说出个所以然来。但是如果我问你HTTP协议的请求方法有哪些?POST与GET的差 异?GET或POST传送数据量的大小有限制吗?HTTP响应的状态

关键字: c# http服务器

* 从 http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki 下载了 sqlite-netFx35-setup-b

关键字: c# sqlite
关闭