想在datagrid中删除一行数据,但是数据记录中有些字段含空值,且哪些字段不确定,sql的删除语句应该怎么写?
另外,我想在datagrid中插入空行,可以吗? 怎么样能够比较方便地实现这样的操作?
另外,我想在datagrid中插入空行,可以吗? 怎么样能够比较方便地实现这样的操作?
解决方案 »
- XmlHttp参数传递的问题
- [100分求教] 关于DataGrid绑定SQL语句中的具有列别名的字段
- 水晶报表排序问题
- 郁闷,散 200 分!ORA-02074: cannot ROLLBACK in a distributed transaction 事务回滚错误
- 导入Excel文件时变为null
- web.config中的access连接字符串问题(没分了,不知道你们肯不肯帮我)
- 如何导出图片到WORD中指定的位置
- 请问怎么让showmodaldailog弹出的对话框全屏?
- Datageid问题
- 请问一个datagrid问题!(当编辑时,怎么样控制可编辑列的宽度?)在线。
- 初学者!关于数据库链接的问题!
- 我的VS按F4属性窗口不出现怎么解决???
2.DATATABEL中加入空行
DataGrid绑定的时候SELECT语句别选上不能为空那列,
如果你的DATAGRID不要显示主键的话,你可以加一个隐藏列放主键,然后删除你可以给DATASET加空行
Dim gridDataRow As DataRow
Dim gridDataSet As DataSet
Dim gridDataTable As DataTable Dim gridDataColumn As DataColumn
Dim columnName(8) As String
Dim i As Integer columnName(0) = "ClassId"
columnName(1) = "Title"
columnName(2) = "PostUser"
columnName(3) = "PublishedTime"
columnName(4) = "CheckUser"
gridDataSet = New DataSet
gridDataTable = New DataTable("myGive") For i = 0 To 4
gridDataColumn = New DataColumn
gridDataColumn.ColumnName = columnName(i)
gridDataTable.Columns.Add(gridDataColumn)
Next gridDataSet.Tables.Add(gridDataTable)
For i = 0 To 100
gridDataRow = gridDataTable.NewRow()
gridDataRow("ClassId") = "000000"
gridDataRow("Title") = "000000"
gridDataRow("PostUser") = "000000"
gridDataRow("PublishedTime") = "2004-05-06"
gridDataRow("CheckUser") = "000000"
gridDataTable.Rows.Add(gridDataRow)
Next
dgListArticle.DataSource = gridDataSet
dgListArticle.DataBind()
End Sub
delete from table where idno=主键
能不能做到对于任何一张表,得到它的字段名称、字段个数,使sql语句对于datagrid绑定的任何一张表都适用(这些表在同一个数据集中,同属一个数据库)?
我想对多张表用统一的sql语句来做删除操作
另外,我配置数据库适配器的时候没有把主键ID列加入,
那删除操作时候怎么得到ID列的值呢?
我用Dim id As Int32 = ds.tablename.Item(e.Item.ItemIndex).Item(0),
不能删除,好像得不到e.Item.ItemIndex的值,要怎么办?
还有,update要写成一个统一的形式,对任何表都适用,怎么写?
但是删除还是不能执行,代码如下:
Private Sub DataGrid1_DeleteCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.DeleteCommand
Dim id As Long = Int(e.Item.Cells(2).Text)
SourceTable()
Try
Dim DelStr As String = "Delete From " + tablename + " Where (ID = " + id + ") "
' Label6.Text = delstr.ToString
Dim DelCmd As OleDbCommand = New OleDbCommand(DelStr, OleDbConnection1)
OleDbConnection1.Open()
DelCmd.ExecuteNonQuery()
OleDbConnection1.Close()
Catch ex As Exception
Dim tmp As String = "<script language='javascript'> alert('" + ex.Message.ToString + "')</script>"
Page.RegisterStartupScript("tmp", tmp)
End Try If (DataGrid1.Items.Count = 1 And DataGrid1.CurrentPageIndex > 0) Then
DataGrid1.CurrentPageIndex = DataGrid1.CurrentPageIndex - 1
End If
DataGrid1.EditItemIndex = -1
mydatabind()
End Sub
请问为什么啊? 救命啊,望高手们帮帮忙!!!!!!!!!!!!!!!!!!!!!!!!
还有,好多表的更新/插入,一定要针对每一张表写sql语句吗?
把DelStr这个值打出来,在查询分析器执行一下
存储过程我没有用过,请教一下,改怎么用呢?
Dim DelStr As String = " Delete From " + tablename + " Where ID = " + id.ToString
真是吐血!
可不可以像删除一样,只设置一个tablename变量,用统一的sql语句完成呢?
主要是这多张表的字段都不一样,字段数也不一样,有没有方法可以得到字段数/字段名/字段值呢?
望知道的人说明一下或者给个例子,万分感谢!!!!!!!!!!!!