利用DataGrid编辑、修改、删除记录

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[People]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[People] GO CREATE TABLE [dbo].[People] ( [pkID] [int] IDENTITY (1, 1) NOT NULL , [FirstName] [char] (100) COLLATE Chinese_PRC_CI_AS NULL , [LastName] [char] (100) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] GO

EditDataGridCS.aspx

 1@ Page Language="c#" debug="true"
 2``` ```
 3@ Import Namespace="System.Data"
 4``` ```
 5@ Import Namespace="System.Data.SqlClient" 
 6``` **Edit People**   
 7**First Name** **Last Name**
 8
 9**本文评论(Comments):** 为了保护您的电子邮件不被骚扰,地址中的个别符号转换成了全角字符!   
10---  
11|  评论人: **凌风雁** |  电子邮件: **yblin@163.com** |  评论日期:2004年06月12日 03:51:07   
12|  我这个没有办法实现删除功能!不知道为什么!!!可不可以帮助解决一下!!   

@ import namespace="system.data"

@ import namespace="system.data.oledb"

  1  
  2dim rcount,pcount,CurrentPage as integer   
  3sub page_load(sender as object, e as eventargs) '首次载入   
  4if not page.IsPostBack then   
  5dim mana as string   
  6mana = request.QueryString("mname")   
  7if mana ="" then   
  8response.Redirect("/manage/admin.aspx")   
  9exit sub   
 10end if   
 11session("managename") = mana   
 12dim cn As OleDbConnection   
 13Dim cmd As OleDbDataadapter   
 14dim ds as dataset   
 15Dim sql As String = "select * from news order by id desc"   
 16dim dsn As String = application("dsn")   
 17cn = new oledbconnection(dsn)   
 18cmd = new oledbdataadapter   
 19cmd.tablemappings.add("Table","news")   
 20cmd.selectcommand = new oledbcommand(sql,cn)   
 21ds = new dataset("news")   
 22cmd.fill(ds,"news")   
 23RCount = ds.tables("news").defaultview.Count   
 24CurrentPage = 1   
 25if (RCount mod MyList.PageSize) = 0 then   
 26Pcount = Rcount/MyList.PageSize   
 27lblRecordCount.Text = RCount.ToString()   
 28lblPageCount.Text = PCount.ToString()   
 29lblCurrentPage.Text= "1"   
 30else   
 31Pcount =cint( rcount/MyList.PageSize + 0.5)   
 32lblRecordCount.Text = RCount.ToString()   
 33lblPageCount.Text = PCount.ToString()   
 34lblCurrentPage.Text = "1"   
 35end if   
 36listsize()   
 37mylist.datasource = ds.tables("news").defaultview   
 38mylist.databind()   
 39end if   
 40end sub   
 41sub change_page(sender As Object, e As DataGridPageChangedEventArgs) '换页   
 42mylist.CurrentPageIndex = e.NewPageIndex   
 43databind()   
 44end sub   
 45sub Page_OnClick(sender as object,e as commandeventargs) '响应按钮   
 46CurrentPage = cint(lblCurrentPage.Text)   
 47PCount = cint(lblPageCount.Text)   
 48dim cmd1 as string   
 49cmd1 = e.CommandName   
 50if cmd1 = "Next" then   
 51if (CurrentPage < (PCount)) then   
 52CurrentPage = currentpage + 1   
 53end if   
 54end if   
 55if cmd1 = "Prev" then   
 56if (CurrentPage > 0) then   
 57CurrentPage = currentpage - 1   
 58end if   
 59end if   
 60if cmd1 = "First" then   
 61CurrentPage = 1   
 62end if   
 63if cmd1 = "Last" then   
 64CurrentPage = (PCount)   
 65end if   
 66lblCurrentPage.Text = CurrentPage   
 67Listsize()   
 68MyList.CurrentPageIndex = currentpage - 1   
 69databind()   
 70end sub   
 71sub Mylist_Delete(sender as object, e as DataGridCommandEventArgs)   
 72dim mycn As OleDbConnection   
 73dim mycmd as OleDbCommand   
 74Dim mysql As String = "delete from news where id = @id"   
 75dim mydsn As String = application("dsn")   
 76mycn = New OleDbConnection(mydsn)   
 77mycmd = New OleDbCommand(mysql,mycn)   
 78mycmd.Parameters.Add(New oledbParameter("@id",oledbtype.integer,4))   
 79mycmd.Parameters("@id").Value =mylist.DataKeys(cint(e.Item.ItemIndex).tostring())   
 80mycmd.Connection.Open()   
 81mycmd.ExecuteNonQuery()   
 82mycmd.Connection.Close()   
 83databind()   
 84end sub   
 85function databind()   
 86dim cn As OleDbConnection   
 87Dim cmd As OleDbDataadapter   
 88dim ds as dataset   
 89Dim sql As String = "select * from news order by id desc"   
 90dim dsn As String = application("dsn")   
 91cn = new oledbconnection(dsn)   
 92cmd = new oledbdataadapter   
 93cmd.tablemappings.add("Table","news")   
 94cmd.selectcommand = new oledbcommand(sql,cn)   
 95ds = new dataset("news")   
 96cmd.fill(ds,"news")   
 97mylist.datasource = ds.tables("news").defaultview   
 98mylist.databind()   
 99end function   
100function listsize() '判断按钮可用与否   
101lbnNextPage.Enabled = true   
102lbnPrevPage.Enabled = true   
103lbnLastPage.Enabled = true   
104lbnFirstPage.Enabled = true   
105if CurrentPage = PCount then   
106lbnNextPage.Enabled = false   
107lbnLastPage.Enabled = false   
108end if   
109if CurrentPage = 1 then   
110lbnPrevPage.Enabled = false   
111lbnFirstPage.Enabled = false   
112end if   
113if currentpage = 1 and pcount = 1 then   
114lbnNextPage.Enabled = false   
115lbnPrevPage.Enabled = false   
116lbnLastPage.Enabled = false   
117lbnFirstPage.Enabled = false   
118end if   
119end function   
120function formatstring(str as string) as string '格式化输出字符   
121str=str.replace(" "," ")   
122str=str.replace("<","<")   
123str=str.replace(">",">")   
124str=str.replace(vbcrlf,"   
125")   
126formatstring = str   
127end function   
128function getchar(str_biaoti as string) as string '截取字符   
129if (str_biaoti.Length>20)   
130return str_biaoti.Substring(0,20)+"……"   
131else   
132return str_biaoti   
133end if   
134end function   
135  
136  
137  
138  
139  
140  
141  
142  
143function newwin(url)   
144{   
145var popup;   
146url=url;   
147popup=window.open(url,null,"top=5,left=5,width=600,resizable=no,height=500,menubar=no,toolbar=no,scrollbars=yes,status=no");   
148popup.focus();   
149}   
150  
151  
152  
153  
154新闻管理系统   
155  
156  
157  
158AllowPaging="True"   
159PagerStyle-Visible="false"   
160PageSize="10"   
161OnPageIndexChanged="change_page"   
162runat="server"   
163Width="550"   
164GridLines="None"   
165ShowFooter="false"   
166CellPadding="2"   
167CellSpacing="1"   
168Font-Name="宋体"   
169Font-Size="8pt"   
170EnableViewState="false"   
171AutoGenerateColumns="false"   
172DataKeyField="id"   
173OnDeleteCommand="Mylist_Delete">   
174  
175  
176HeaderText=""   
177DataNavigateUrlField="id"   
178DataNavigateUrlFormatString="newsedit.aspx?id={0}"   
179DataTextField="标题"   
180>   
181  
182  
183
184
185  
186  
187  
188  
189  
190  
191  
192  
193  
194  
195共有  条记录   
196当前为  /  页   
197  
198" target="manage frame">添加新闻   
199  
200  
201  
202  
203  
204  
205|   
206|  评论人: **lqidiot** |  电子邮件: **lq9904@tom.com** |  评论日期:2004年04月12日 03:37:10   
207|  有没有用VB.NET语言写的,   
208我写了一个,但是不能实现"更新"这一功能   
209程序如下,能不能帮我改正一下   
210多谢了   
211  
212Dim conn As New SqlClient.SqlConnection("server=(local); database=lq; user id=sa; password=506")   
213conn.Open()   
214Dim Cmd As SqlClient.SqlCommand   
215Dim SQL As String   
216SQL = "Update zhuce Set [学号]=@学号, [姓名]=@姓名, [性别]=@性别, [专业]=@专业 Where [学号]=@Key"   
217Cmd = New SqlClient.SqlCommand(SQL, conn)   
218Cmd.Parameters.Add(New SqlClient.SqlParameter("@学号", SqlDbType.Int))   
219Cmd.Parameters.Add(New SqlClient.SqlParameter("@姓名", SqlDbType.Char, 10))   
220Cmd.Parameters.Add(New SqlClient.SqlParameter("@性别", SqlDbType.Char, 2))   
221Cmd.Parameters.Add(New SqlClient.SqlParameter("@专业", SqlDbType.Char, 25))   
222Cmd.Parameters.Add(New SqlClient.SqlParameter("@Key", SqlDbType.Int))   
223Dim TB(4) As TextBox   
224TB(1) = e.Item.Cells(2).Controls(0) ' 学号 TextBox   
225TB(2) = e.Item.Cells(3).Controls(0) ' 姓名 TextBox   
226TB(3) = e.Item.Cells(4).Controls(0) ' 性别 TextBox   
227TB(4) = e.Item.Cells(5).Controls(0) ' 专业 TextBox   
228Label1.Text = Val(TB(1).Text) & TB(2).Text & TB(3).Text & TB(4).Text   
229Cmd.Parameters("@Key").Value = mygrid.DataKeys(e.Item.ItemIndex)   
230Cmd.Parameters("@学号").Value = Val(TB(1).Text)   
231Cmd.Parameters("@姓名").Value = TB(2).Text   
232Cmd.Parameters("@性别").Value = TB(3).Text   
233Cmd.Parameters("@专业").Value = TB(4).Text   
234Cmd.ExecuteNonQuery()   
235Label2.Text = Cmd.Parameters("@学号").Value & Cmd.Parameters("@姓名").Value & Cmd.Parameters("@性别").Value & Cmd.Parameters("@专业").Value   
236conn.Close()   
237mygrid.EditItemIndex = -1   
238open_bind()   
239  
240|   
241|  评论人: **aloner007** |  电子邮件: **aloner_007@163.com** |  评论日期:2004年03月26日 08:47:47   
242|  String strCnn = "Data Source=.;Initial Catalog=aa;User Id=sa;Password=;"; //这句语句是什么意思?   
243db_sqladaptor.Fill(ds,"MyDataResult");中的MyDataResult参数是什么意思!   
244  
245|   
246|  评论人: **http://dotnet.aspx.cc** |  电子邮件: **http://dotnet.aspx.cc** |  评论日期:2004年02月05日 12:36:23   
247|  http://dotnet.aspx.cc
Published At
Categories with Web编程
Tagged with
comments powered by Disqus