c#学习笔记-数据库操作

上一篇 / 下一篇  2007-05-11 09:22:39 / 个人分类:编程与其它

Datasetdatagridview中对数据进行删除、取消等操作,并将结果保存到数据库中。51Testing软件测试网 U9BK%_)J``&L

Form1.cs

O.qr%UJR0

usingSystem;51Testing软件测试网l.X i$F^

usingSystem.Collections.Generic;

G"T Zm,A Q0

usingSystem.ComponentModel;

R T8Q&cw0

usingSystem.Data;51Testing软件测试网lKw~ nMd-z!i ]

usingSystem.Drawing;51Testing软件测试网?S"K P] |

usingSystem.Text;

!C%a{G|8u8B7|0

usingSystem.Windows.Forms;51Testing软件测试网 TwK+W!Z]r&F5U

 

dX%IQL8L9\'_0

namespaceWindowsApplication2

6_H:{!S(`@6_$p0

{

4F0pa};u6q!s0

   publicpartialclassForm1:Form

(?[|$} C ~,AL0

   {

9|T'u$CIm^0

       publicForm1()

XW*i1@'p-Jl\0

       {

1@bTg[,v0

           InitializeComponent();

o[K&NO#S0

           ClassLibrary1.oracledataaccess =newClassLibrary1.oracle();

iEu2o(P TlW0

           DataSetds = dataaccess.getData();

Z2LG V-O3g-v`0

          dataGridView1.DataSource = ds.Tables[0];51Testing软件测试网:pq9G\(Q1~-Y

           /*首先我们通过form1里头的load事件把数据加载到了datagridview,dataset(数据在内存51Testing软件测试网U:o5Y9l2?

         中的缓存)已经和datagridviewdatasource榜定在一起了*/

:A&W bu$T0

       }51Testing软件测试网4Mn3Yz}{#j#FN

 

D tVL3WJ0

       privatevoidbutdelete_Click(objectsender,EventArgse)51Testing软件测试网/X7t}1zv"u[

       {51Testing软件测试网M7O!iRLA ]N'E

           if(this.dataGridView1.SelectedRows.Count > 0)

sD(lB?+Dz0

           {

3o R1i(v+^G)s)p?;|0

               for(inti =this.dataGridView1.SelectedRows.Count - 1; i >= 0; --i)

b+bAh1i0e5E {A0

               {51Testing软件测试网&b4nv1c-Juu i

                 DataRowViewrowview = ((DataRowView)this.dataGridView1.SelectedRows[i].DataBoundItem);51Testing软件测试网,H @%qV4u:OH0?

                   //获取用于填充行的数据绑带对象51Testing软件测试网MimJ#tVU3d

                   rowview.Delete();51Testing软件测试网j nO#N;[:`6e3U

                   /*选中的行删除,但此时的被删除的数据并没有被真正的从数据库中删除,它只是

T.M&fg"n\ Ax0

                   做了一个删除标记。*/

!HF-w#hV;gG#A2c9m0

                   System.Windows.Forms.MessageBox.Show(rowview.Row.RowState.ToString());51Testing软件测试网:Ym'k9p9{U

                  /*打出行的状态查看一下。Rowstate在此非常重要,因为将涉及到对数据库的操作

l7D ~9P R0

                  系统怎么判断这一批的数据是被删除掉了51Testing软件测试网 sG]T8L5B

               }51Testing软件测试网J;X'|%h!b'R0]Y4t5F

                 /*对于for循环中初始i值说明:datagridview将数据显示出来,每删除一行,

.D3J3I#p.c8ae mD:mVh0

               this.dataGridView1.SelectedRows.Count就会减少一行,因此初值要注意*/

MC"`.q3C0S0

 

!`DS \e;R#U6`0

           }51Testing软件测试网5DV^r F3i.Q

       }

~ Ur ~~"q I Pr0

 

^A]&D(v+s0

       privatevoidbutcancel_Click(objectsender,EventArgse)51Testing软件测试网n*J&k,dm(JO ]v#e!n @

       {

#ott6XR ~7a0

         ((DataTable)dataGridView1.DataSource).RejectChanges();

|-G*n6_%cIs @0

          //回滚上次更新该表的操作

G6E+M\ IOy2r?0

       }

OG/`%@E2BH0

privatevoidbtnSave_Click(objectsender,EventArgse)51Testing软件测试网HjIn(jo/`

       {

M;R$P-h#l#rg v(j*?0

ClassLibrary1.oracledataaccess =newClassLibrary1.oracle();51Testing软件测试网1eJ~ fap%g&_

         dataaccess.deleteData(((DataTable)dataGridView1.DataSource).DataSet);51Testing软件测试网m-F%m|8]y1o,}2c

 

.|p%GCQq"U0

       }51Testing软件测试网 X D/^Z*[

 

D}x*w Amb0

   }

GAM1g5]&_3tu0

}

[;XF"q6S${Y0

Oracle.cs51Testing软件测试网;m(tky(N.lBr5n)^

usingSystem;51Testing软件测试网sIZ:j Q&I[h8Y

usingSystem.Collections.Generic;

N ?M3U$@1|v#p0

usingSystem.Text;51Testing软件测试网5wYs-d;gk

usingSystem.Data .OracleClient;

bPTV'L3[/SR&G7R0

usingSystem.Data;

+B-xQo Z#O0

 51Testing软件测试网4Z'B-`"`]f!{*u]

namespaceClassLibrary151Testing软件测试网rS~7fg%E`.m

{51Testing软件测试网 w%nK/cq)]/h:v

   public classoracle

;],C;Dz*tg/O0

   {

7R0GcJ9mFMz0

       stringmyConnectionText ="Data Source=MYORACLE;User Id=SYSTEM;Password=SYSTEM";51Testing软件测试网F!N iE0Zk

       stringmySelectText ="SELECT * from scott.student";51Testing软件测试网-v#W)Y4c;V

 51Testing软件测试网%b%ud%D P_ G'A |

       publicDataSetgetData()51Testing软件测试网p;p*h&M C+LI-T

       {

7Jw wFP c0

           OracleDataAdaptercustDA =newOracleDataAdapter(mySelectText, myConnectionText);51Testing软件测试网 xwE$NY.\8Zw

     //实例化一个适配器,创建数据库的连接

"A+aSa.z*`G0

           OracleConnectioncustConn = custDA.SelectCommand.Connection;51Testing软件测试网(_:\M$j1k

           //打开数据库的连接

zl_"m;PJfia4b8R0

            DataSetds =newDataSet();51Testing软件测试网/I6W'lZFZ-|\

           custDA.Fill(ds);51Testing软件测试网b b,K-ub"SWk

           //将对数据库的查询结果添加到DateSet中。51Testing软件测试网NMW@9dK,go

           returnds;51Testing软件测试网t+_A,y7t

 51Testing软件测试网6Y M SXb\;r

       }51Testing软件测试网YkF/YQGthQ#B

   }51Testing软件测试网D!z7A9N2\~+M5M.R

}

0[$Zdenb\0

最后的图片51Testing软件测试网5g;iG n*h

51Testing软件测试网!vE&m;?S9J

 

w3nI&]-Y0

 删除选中行以后51Testing软件测试网lZ6b G~*b

:Fx&K@(\r9C^5E:x-M {r0

form1.cs设计中,拖拉一个datagridview,添加三个按钮,分别将它们的nametext属性改为51Testing软件测试网[&L^3ZU/t1@,?

butdelete.Name ="butdelete";51Testing软件测试网 mX,M.v$F2w

butdelete.Text ="删除选中";51Testing软件测试网*A6i,Z^o2Cl6x S~|]

butcancel.Name ="butcancel";51Testing软件测试网Yw1~&oM

butcancel.Text ="取消删除";51Testing软件测试网*v'~?)Y gyJ

butsave.Name ="butsave";

f9vx5OQ2` }3Ve0

butsave.Text ="保存";51Testing软件测试网&r;Qp(n%gd[


相关阅读:

TAG: 编码知识

阿奔 引用 删除 wxq8102   /   2007-05-11 21:06:45
是啊,学了没多久,以后有什么心得,大家互相交流了,呵呵
testcat的个人空间 引用 删除 testcat   /   2007-05-11 17:37:23
刚学C#吗,我也是
 

评分:0

我来说两句

Open Toolbar