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

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

Datasetdatagridview中对数据进行删除、取消等操作,并将结果保存到数据库中。

's1IK.WqF#Q%W9[0n7t0

Form1.cs

bhX-y*D0

usingSystem;

+ddK ]Z8e{3C,l0

usingSystem.Collections.Generic;51Testing软件测试网w%g0R~#Qi

usingSystem.ComponentModel;

]@ y9oacrn0

usingSystem.Data;

*x3V q)w+Zx7Z3t0

usingSystem.Drawing;

u~Y3Fv0

usingSystem.Text;51Testing软件测试网6IM3N,S,t(gflE

usingSystem.Windows.Forms;51Testing软件测试网6h:@.nd-i;l

 51Testing软件测试网l7U:yZHW Q

namespaceWindowsApplication2

BF{O3rE6aS7iF6?0

{

RmS5A*d f-m0

   publicpartialclassForm1:Form51Testing软件测试网.x S'L fy(D0lg

   {

#V&LL'c,MX0

       publicForm1()

|&~5iL X8Q0

       {

1|wH0t6t#C+}\b\0

           InitializeComponent();51Testing软件测试网L2E g.I%g6xx

           ClassLibrary1.oracledataaccess =newClassLibrary1.oracle();

k2wXK2Y0

           DataSetds = dataaccess.getData();51Testing软件测试网KUDT*Q1i/E }"jZg-}

          dataGridView1.DataSource = ds.Tables[0];

]l Y%i0JC1y.T0

           /*首先我们通过form1里头的load事件把数据加载到了datagridview,dataset(数据在内存51Testing软件测试网/g RQv\b/N

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

D}'?%ze;]7q0

       }

qpM,U~&p$\ot*}0

 51Testing软件测试网!Jr Kd"Q8R-}O

       privatevoidbutdelete_Click(objectsender,EventArgse)51Testing软件测试网_.|J$w5Z O

       {51Testing软件测试网|-mLxY3_Z*l

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

M.D#K3N;[0

           {51Testing软件测试网[R/I@MT(Y

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

i^@~JY a0

               {51Testing软件测试网 X7~)_T2Tp*o]&u

                 DataRowViewrowview = ((DataRowView)this.dataGridView1.SelectedRows[i].DataBoundItem);

$W}7B|'cO!Ev0Ck8\4V0

                   //获取用于填充行的数据绑带对象

&C.Brlf0

                   rowview.Delete();

V,nbww_0

                   /*选中的行删除,但此时的被删除的数据并没有被真正的从数据库中删除,它只是51Testing软件测试网aZ}*jTZ,g5W

                   做了一个删除标记。*/

CLt"Q6]_!y {X3P0

                   System.Windows.Forms.MessageBox.Show(rowview.Row.RowState.ToString());

&F+[ A*V:d!S0

                  /*打出行的状态查看一下。Rowstate在此非常重要,因为将涉及到对数据库的操作51Testing软件测试网/{9p!ff8c$a

                  系统怎么判断这一批的数据是被删除掉了51Testing软件测试网|&?_$w'b0g(}w

               }51Testing软件测试网8f*p!Ct-]PfV

                 /*对于for循环中初始i值说明:datagridview将数据显示出来,每删除一行,51Testing软件测试网G5p p5FnH

               this.dataGridView1.SelectedRows.Count就会减少一行,因此初值要注意*/51Testing软件测试网5N,HGMc5H7L2~/Rp!|

 51Testing软件测试网e&bv"b'{_(lN oL

           }51Testing软件测试网;d e!YM6a+L_5w\

       }51Testing软件测试网"F"q5?2cZ2`)i7N

 

2@5B'e#_~/n'n0

       privatevoidbutcancel_Click(objectsender,EventArgse)

7T,b(u eJ{9H^0

       {51Testing软件测试网| r^hj!f#n5}

         ((DataTable)dataGridView1.DataSource).RejectChanges();51Testing软件测试网ldr(u.C+oi}

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

F8bU ][:`i0

       }

i2S nEwX%ZGK.R-Z0

privatevoidbtnSave_Click(objectsender,EventArgse)

XGo%C7h1hOa0

       {51Testing软件测试网8ed%AYz!YS"T

ClassLibrary1.oracledataaccess =newClassLibrary1.oracle();51Testing软件测试网:C"~j.Et

         dataaccess.deleteData(((DataTable)dataGridView1.DataSource).DataSet);

s*Y5v8po(B0

 

r#u/WN%X.d7^.[~Y0

       }

3wU&mGV.}n0

 51Testing软件测试网*s}6d&qq^.@

   }

P"R$UB7\_*F bX0

}51Testing软件测试网 jo;I sc Idb

Oracle.cs51Testing软件测试网X ^@d | X5[Yn

usingSystem;

X+v4c+w%PR0

usingSystem.Collections.Generic;

2R lCQ d)] {0

usingSystem.Text;51Testing软件测试网4A F0^p [-xc

usingSystem.Data .OracleClient;51Testing软件测试网gm7ZRHj }#`

usingSystem.Data;51Testing软件测试网` H ur6RSYIr

 51Testing软件测试网 D-Kw([vJN8f

namespaceClassLibrary151Testing软件测试网?3t K f8u"\

{51Testing软件测试网pIe Z'ib"C

   public classoracle51Testing软件测试网g/UK+K g6]'Ru9J9t rw

   {

X9s.R%?B)Ph0

       stringmyConnectionText ="Data Source=MYORACLE;User Id=SYSTEM;Password=SYSTEM";

R:i[N9K sF+Ro0

       stringmySelectText ="SELECT * from scott.student";

%jd;rAO$I AOvS0

 51Testing软件测试网X ~S7~'r;N-y

       publicDataSetgetData()51Testing软件测试网,S!tpd:u yTg

       {51Testing软件测试网6S0Z1x1ufb

           OracleDataAdaptercustDA =newOracleDataAdapter(mySelectText, myConnectionText);

O6N%Q7J:p;_0

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

aq9W-L6mI1Gf0

           OracleConnectioncustConn = custDA.SelectCommand.Connection;51Testing软件测试网Oe!L%M5_*nI^

           //打开数据库的连接51Testing软件测试网 G\ ^ue#EA

            DataSetds =newDataSet();

UAk]z$}TC0

           custDA.Fill(ds);

/G$r`$Sjzv0

           //将对数据库的查询结果添加到DateSet中。51Testing软件测试网\`J;vLW K]

           returnds;

p3}yZ;Wm_a#k0

 51Testing软件测试网,v*IOIYZ\(T

       }51Testing软件测试网DDN1F7M*F

   }51Testing软件测试网Uo%KW&o

}51Testing软件测试网.aW;PdySUHK

最后的图片51Testing软件测试网9h r8G kIp

4qq3e(XkHJ5u5d0

 

^WA%W {+D0

 删除选中行以后

P$]1EL0v!M3x0

vH3yM;N'X0

form1.cs设计中,拖拉一个datagridview,添加三个按钮,分别将它们的nametext属性改为51Testing软件测试网 Zm.A6T'f7X

butdelete.Name ="butdelete";51Testing软件测试网 U#I1eJ+wAp2`

butdelete.Text ="删除选中";

om6^9B6n7B*o0qV{0

butcancel.Name ="butcancel";

-m:n+E P3z4z+m5w9Rym!I0

butcancel.Text ="取消删除";

~V,S6jUkHV0

butsave.Name ="butsave";

7Jc2rJBn^0

butsave.Text ="保存";51Testing软件测试网@-W:M!\)_$l*f


相关阅读:

TAG: 编码知识

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

评分:0

我来说两句

Open Toolbar