批量更新和批量插入的问题!!!

evilzydar 2004-07-09 02:20:37
怎么用datagrid实现数据的批量更新?
最好能提供代码~~~~~
谢谢大家~~~~~
...全文
389 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
guoyan19811021 2004-07-13
  • 打赏
  • 举报
回复
http://dev.csdn.net/develop/article/21/21701.shtm
张新林 2004-07-13
  • 打赏
  • 举报
回复
把sql用分号(;)连起来执行
evilzydar 2004-07-13
  • 打赏
  • 举报
回复
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim sqlstr2
Dim i
i = 0
Do While i < Datacnn3.RecordCount
sqlstr2 = " update supplierbmilk set sbmilkmorn='" & CType(Datagrid1.Items(i).FindControl("textbox4"), TextBox).Text & "',sbmilknoon='" & CType(Datagrid1.Items(i).FindControl("textbox5"), TextBox).Text & "',sbmilknigh='" & CType(Datagrid1.Items(i).FindControl("textbox6"), TextBox).Text & "' where sbmilksupplierb='" & CType(Datagrid1.Items(i).FindControl("textbox1"), TextBox).Text & "' "

If Datacnn4.State = ADODB.ObjectStateEnum.adStateOpen Then Datacnn4.Close()
Datacnn4.Open(sqlstr2, Conn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic)
i = i + 1
Loop

Datagrid1.DataBind()

End Sub


不知道为什么更改datagrid上的text点击button1可是没有反应,更新不了,如果把CType(Datagrid1.Items(i).FindControl("textbox4"), TextBox).Text 等变量换成具体的数据就行,这是怎么回事,大家在帮我看看好么
bccu 2004-07-12
  • 打赏
  • 举报
回复
用webgrid很容易实现的,
先用两个webgrid 使其中一个为不可见,
然后把前台的webgrid所作的修改,传递给后台不可见的
webgrid,最后通过调用存储过程来更新。大致就这个过程。
肯定能实现,因为我前几天刚做过的。
evilzydar 2004-07-12
  • 打赏
  • 举报
回复
我用的是asp.net+vb做的
:(
nmlvjun 2004-07-12
  • 打赏
  • 举报
回复
#region UpdateData 数据更新
private void UpdateData()
{
DataSet myDs =GetDataSet();
DataTable myDt =myDs.Tables["ProjectInfo"];

string CnnString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source= ";
CnnString+=Server.MapPath ("demo.mdb");
OleDbConnection cnn =new OleDbConnection(CnnString);
OleDbCommand myCmd = new OleDbCommand("",cnn);
cnn.Open ();
string strSql="";
for (int i=0;i<DataGrid1.Items.Count;i++)
{
strSql = "Update " + "ProjectInfo " + " Set " + myDt.Columns[0].ColumnName + "=" + myDt.Columns[0].ColumnName ;
for (int j=1;j<myDt.Columns.Count;j++)
{
strSql += ", " + myDt.Columns[j].ColumnName + "='" + ((TextBox)DataGrid1.Items[i].FindControl(myDt.Columns[j].ColumnName)).Text.Replace("'","''") + "'";
}
strSql += " Where " + myDt.Columns[0].ColumnName + "=" + DataGrid1.DataKeys[i].ToString() + "";

myCmd.CommandText = strSql;
myCmd.ExecuteNonQuery();

}

cnn.Close ();
}
#endregion
evilzydar 2004-07-12
  • 打赏
  • 举报
回复
请楼上的说的具体一些好么,webgrid??在.net中怎么用???
bccu 2004-07-12
  • 打赏
  • 举报
回复
webgrid 可以方便的实现数据的批处理操作,楼主可以试试。
evilzydar 2004-07-12
  • 打赏
  • 举报
回复
我用模版列了,现在datagrid上能显示text了,并且也能显示数据了,但是我现在要做的就是怎么通过datagrid以外的按纽来更新这些数据呢,
nmlvjun 2004-07-12
  • 打赏
  • 举报
回复
用模板列很容易实现
letmedie 2004-07-12
  • 打赏
  • 举报
回复
Dim oItem As DataGridItem
For Each oItem In DataGrid1.Items
If oItem.ItemIndex = e.Item.ItemIndex Then
For i = 0 To e.Item.Cells.Count - 1
Dim rbl1 As RadioButtonList
rbl1 = e.Item.FindControl("rbl1")

Next
Exit For
End If
Next
evilzydar 2004-07-11
  • 打赏
  • 举报
回复
我用asp能实现,但是对于用.net有些无从下手,还请帮帮我这个.net的菜鸟,谢谢大家了~~~~
jasonpower 2004-07-09
  • 打赏
  • 举报
回复
这个问题我遇到过,解决了。问题的关键在于每个要更新的字段,使用客户端文本框绑定,重点是把每个数据项的id和文本框的name联系起来!
先提示这么多,看看你能否自己完成后面的部分!预祝成功!!
bushido 2004-07-09
  • 打赏
  • 举报
回复
使用
SqlDataAdapter ad = new SqlDataAdapter();
......
DataSet ds = .......
SqlCommandBuilder sb = new SqlCommandBuilder(ad);

更新的时候可以使用
ad.update(ds);
kellyhapyy 2004-07-09
  • 打赏
  • 举报
回复
UP
evilzydar 2004-07-09
  • 打赏
  • 举报
回复
我已经绑定了文本框,不知道怎么写遍历所有文本框来更新数据,请高手多多指点~~~~~
liuvb 2004-07-09
  • 打赏
  • 举报
回复
在datagrid中绑定文本框,最后我遍历所有文本框更新数据库
酋长 2004-07-09
  • 打赏
  • 举报
回复
利用SqlDataAdapter的Update方法
evilzydar 2004-07-09
  • 打赏
  • 举报
回复
asp.net+vb

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧