<%@Import Namespace="System.data.SqlClient"%> <script language="VB" runat="server"> Sub Page_Load(Sender As Object,E As EventArgs) Dim con As New SqlConnection("Data Source=localhost;Initial Catalog=a;User Id=sa;Password=;") Dim cmd As SqlCommand con.Open() cmd=New SqlCommand("select * from lianxi",con) DataGrid1.DataSource=cmd.ExecuteReader() DataGrid1.DataBind()
End Sub </script> <asp:DataGrid id="DataGrid1" runat="server"/> 这是我的代码,现在不能编辑阿,还要怎么改动?
Private Sub DataGrid1_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.UpdateCommandMe.SqlUpdateCommand1.Parameters("@产品编号").Value = DataGrid1.DataKeys(CInt(e.Item.ItemIndex))Dim Cols As String() = {"@产品", "@库存量", "@单价"}Dim NumCols As Integer = e.Item.Cells.CountDim I As IntegerFor I = 3 To NumCols - 1 '跳过前三列和最后一列Dim CurrentTextBox As TextBoxCurrentTextBox = e.Item.Cells(I).Controls(0)Dim ColValue As String = CurrentTextBox.Text' 检查在所需字段中是否有空值If I < 6 And ColValue = "" ThenLabel1.Text = "错误"ReturnEnd IfMe.SqlUpdateCommand1.Parameters(Cols(I - 3)).Value = ColValueNextMe.SqlUpdateCommand1.Connection.Open()TryMe.SqlUpdateCommand1.ExecuteNonQuery()Label1.Text = "<b>已更新记录</b><br>"DataGrid1.EditItemIndex = -1Catch Exp As ExceptionLabel1.Text = "错误:已存在具有相同主键的记录"End TryMe.SqlUpdateCommand1.Connection.Close()Me.SqlDataAdapter1.Fill(DataSet11, "产品资料")Me.DataGrid1.DataBind()End Sub
Sub MyDataGrid_Update(ByVal Sender As Object, ByVal E As DataGridCommandEventArgs) Dim MyCommand As SqlCommand Dim UpdateCmd As String = "Update Tbl_Yhb Set T_Str_Yhxm=@Yhxm,T_Str_Yhzh=@Yhzh,T_Str_Yhmm=@Yhmm,T_Bln_Qyzt=@Qyzt where id=@id" MyCommand = New SqlCommand(UpdateCmd, MyConnection) MyCommand.Parameters.Add(New SqlParameter("@Id", SqlDbType.int, 4)) MyCommand.Parameters.Add(New SqlParameter("@Yhzh", SqlDbType.NVarChar, 50)) MyCommand.Parameters.Add(New SqlParameter("@Yhxm", SqlDbType.NVarChar, 50)) MyCommand.Parameters.Add(New SqlParameter("@Yhmm", SqlDbType.NVarChar, 50)) MyCommand.Parameters.Add(New SqlParameter("@Qyzt", SqlDbType.Bit, 1)) MyCommand.Parameters("@Id").Value = DgdYh.DataKeys(CInt(E.Item.ItemIndex)) Dim Cols As String() = {"@Yhxm", "@Yhzh", "@Yhmm", "@Qyzt"} Dim NumCols As Integer = E.Item.Cells.Count Dim I As Integer For i = 0 To NumCols Dim CurrentTextBox As TextBox = E.Item.Cells(i).Controls(0) Dim ColText = CurrentTextBox.Text MyCommand.Parameters(Cols(i)).Value = Server.HtmlEncode(ColText) Next MyCommand.Connection.Open() MyCommand.ExecuteNonQuery() DgdYh.EditItemIndex = -1 MyCommand.Connection.Close() End Sub
Dim t As DataTable t.AcceptChanges() 这样行吗?怎样实例化这个t呢
<script language="VB" runat="server">
Sub Page_Load(Sender As Object,E As EventArgs)
Dim con As New SqlConnection("Data Source=localhost;Initial Catalog=a;User Id=sa;Password=;")
Dim cmd As SqlCommand
con.Open()
cmd=New SqlCommand("select * from lianxi",con)
DataGrid1.DataSource=cmd.ExecuteReader()
DataGrid1.DataBind()
End Sub
</script>
<asp:DataGrid id="DataGrid1" runat="server"/>
这是我的代码,现在不能编辑阿,还要怎么改动?
具体的自己想吧~
<asp:EditCommandColumn EditText="Edit" CancelText="cancel" UpdateText="update" ItemStyle-Wrap="false"/>
</Columns>
可是更新的具体操作该如何呢?
http://localhost/QuickStart/aspplus/default.aspx?url=/quickstart/aspplus/doc/webdataaccess.aspx
AllowPaging="True" AutoGenerateColumns="False" BorderWidth="1px" OnDeleteCommand="My_grid_delete"
OnEditCommand="My_grid_edit" OnItemCreated="My_grid_ItemCreated">
<SelectedItemStyle HorizontalAlign="Center" Height="20px" VerticalAlign="Middle"></SelectedItemStyle>
<AlternatingItemStyle Font-Size="12px" HorizontalAlign="Center" Height="20px" BackColor="White"></AlternatingItemStyle>
<ItemStyle Font-Size="12px" HorizontalAlign="Center" Height="20px"></ItemStyle>
<HeaderStyle Font-Size="13px" HorizontalAlign="Center" Height="20px" BackColor="Silver"></HeaderStyle>
<Columns>
<asp:BoundColumn DataField="T_Str_Glzh" HeaderText="用户帐号">
<HeaderStyle Width="120px"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="T_Str_Yhxm" HeaderText="用户姓名">
<HeaderStyle Width="120px"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="T_Int_Yhqx" HeaderText="用户权限">
<HeaderStyle Width="120px"></HeaderStyle>
</asp:BoundColumn>
<asp:ButtonColumn Text="修改" HeaderText="修改" CommandName="Edit">
<HeaderStyle Width="70px"></HeaderStyle>
</asp:ButtonColumn>
<asp:ButtonColumn Text="删除" HeaderText="删除" CommandName="Delete">
<HeaderStyle Width="70px"></HeaderStyle>
</asp:ButtonColumn>
</Columns>
<PagerStyle VerticalAlign="Middle" Height="20px" Font-Size="30px" Font-Names="新宋体" Font-Bold="True"
HorizontalAlign="Center" Mode="NumericPages"></PagerStyle>
</asp:datagrid>
Sub My_grid_Edit(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) '转到第二个页面进行修改
Response.Redirect("yhxg.aspx?id=" & My_grid.DataKeys(e.Item.ItemIndex)) End Sub
Dim MyCommand As SqlCommand Dim UpdateCmd As String = "Update Tbl_Yhb Set T_Str_Yhxm=@Yhxm,T_Str_Yhzh=@Yhzh,T_Str_Yhmm=@Yhmm,T_Bln_Qyzt=@Qyzt where id=@id"
MyCommand = New SqlCommand(UpdateCmd, MyConnection) MyCommand.Parameters.Add(New SqlParameter("@Id", SqlDbType.int, 4))
MyCommand.Parameters.Add(New SqlParameter("@Yhzh", SqlDbType.NVarChar, 50))
MyCommand.Parameters.Add(New SqlParameter("@Yhxm", SqlDbType.NVarChar, 50))
MyCommand.Parameters.Add(New SqlParameter("@Yhmm", SqlDbType.NVarChar, 50))
MyCommand.Parameters.Add(New SqlParameter("@Qyzt", SqlDbType.Bit, 1))
MyCommand.Parameters("@Id").Value = DgdYh.DataKeys(CInt(E.Item.ItemIndex)) Dim Cols As String() = {"@Yhxm", "@Yhzh", "@Yhmm", "@Qyzt"}
Dim NumCols As Integer = E.Item.Cells.Count
Dim I As Integer
For i = 0 To NumCols
Dim CurrentTextBox As TextBox = E.Item.Cells(i).Controls(0)
Dim ColText = CurrentTextBox.Text
MyCommand.Parameters(Cols(i)).Value = Server.HtmlEncode(ColText)
Next
MyCommand.Connection.Open()
MyCommand.ExecuteNonQuery()
DgdYh.EditItemIndex = -1
MyCommand.Connection.Close()
End Sub
t.AcceptChanges()
这样行吗?怎样实例化这个t呢