急!datagrid不保存到表中,保存在dataset中怎么解决!

pingan99 2003-07-23 10:13:55
如题!
...全文
27 20 打赏 收藏 举报
写回复
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
jaffler 2003-07-25
  • 打赏
  • 举报
回复
大概的用法,自己看吧。
Private Sub savexit_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles savexit.Click
SaveGridData()
Dim ds As DataSet = CType(Session("ds"), DataSet)
Dim dt As DataTable
If Not ds.Tables("storegoods").GetChanges(DataRowState.Modified) Is Nothing Then
Dim storegoods As DataTable = ds.Tables("storegoods").GetChanges(DataRowState.Modified).Copy
Dim selgoods As DataTable = ds.Tables("selgoods")

Dim dg As DataRow
For Each dg In storegoods.Rows
If Not IsDBNull(dg("thisnum")) Then
If dg("thisnum") > 0 Then
Dim drow As DataRow = selgoods.NewRow
drow("goodsid") = dg("goodsid")
drow("num") = dg("thisnum")
drow("useprice") = dg("useprice")
drow("goodscode") = dg("goodscode")
drow("name") = dg("name")
drow("spec") = dg("spec")
drow("model") = dg("model")
drow("unit") = dg("unit")
drow("appro") = dg("appro")
drow("approve") = dg("approve")
selgoods.Rows.Add(drow)
End If
End If
Next
End If
End Sub

Sub SaveGridData()
Dim i As Integer
Dim _item As DataGridItem
Dim dt As DataTable = CType(Session("ds").tables("storegoods"), DataTable)
For i = 0 To dgdgoodsInfo.Items.Count - 1
_item = dgdgoodsInfo.Items(i)
Dim txtN As TextBox = _item.FindControl("txtNum")
If txtN.Text.Trim <> "" Then
Dim id As Integer = CInt(dgdgoodsInfo.DataKeys(i))
Dim dr As DataRow = dt.Select("goodsid=" & id)(0)
dr.BeginEdit()
dr("thisnum") = CInt(txtN.Text)
dr.EndEdit()
Else
Dim id As Integer = CInt(dgdgoodsInfo.DataKeys(i))
Dim dr As DataRow = dt.Select("goodsid=" & id)(0)
dr.BeginEdit()
dr("thisnum") = DBNull.Value
dr.EndEdit()
End If
Next
End Sub

xrll 2003-07-25
  • 打赏
  • 举报
回复
ms-help://MS.NETFrameworkSDKv1.1.CHS/cpguidenf/html/cpconretrievingidentityorautonumbervalues.htm
felix1200 2003-07-25
  • 打赏
  • 举报
回复
呵呵,这个没试过,你自己看看。
pingan99 2003-07-25
  • 打赏
  • 举报
回复
这个我明白,如果我先修改数据,然后在另外一个事件中
update数据库中的相应的数据,想问一下,在另外一个事件中update
时要注意一些什么呢?
felix1200 2003-07-25
  • 打赏
  • 举报
回复
DataSet 是脱离数据库的,放在内存中的,如果修改了DataSet中的数据,而不使用UpDate()存回数据库的话,数据库中的值是不会改变的。而使用DataGrid,DataList进行绑定时,是绑定的DataSet中的数据。
DataSet的结构树:
DataSet
RelationsCollection
ExtendedProperties
TablesCollection  
DataTables
Rows
Columns
一个DataSet中包含多个DataTable,一个DataTable又包含有多个Row。
pingan99 2003-07-24
  • 打赏
  • 举报
回复
To:
felix1200(qq)
帮忙看一下呀,只要update就会保存到数据库的表中,如果不update页面就不会显示的
http://expert.csdn.net/Expert/topic/2060/2060763.xml?temp=.2863275
swaye 2003-07-24
  • 打赏
  • 举报
回复
mark
pingan99 2003-07-24
  • 打赏
  • 举报
回复
To:
felix1200(qq)
我现在脑子一团浆子,可以讲讲,为什么要这样吗?
我对保存在dataset和保存会数据库,由些迷糊,可以多讲讲吗?
谢谢了!
felix1200 2003-07-24
  • 打赏
  • 举报
回复
呵呵,你只要重新定义一个DataSet再绑定就可以了!
例:
DataSet MyDataSet = new DataSet();
MyComm.Fill(MyDataSet,"Student");
MyDataSet.Tables["Student"].Rows.Add(dr);

DataSet MyDataSet1 = new DataSet();
MyComm.Fill(MyDataSet1,"Student");
DataGrid1.DataSource=MyDataSet1.Tables["Student"].DefaultView;
DataGrid1.DataBind();
pingan99 2003-07-23
  • 打赏
  • 举报
回复
我手的不清楚,不好意思!
我指
向datagrid中添加的数据不直接保存在数据库的表中的,而保存在dataset中
该怎么处理?
huangfei421 2003-07-23
  • 打赏
  • 举报
回复
<%@ Page Language="VB" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.sqlclient" %>
<script runat="server">

sub page_load(sourec as object,e as eventargs)
if not page.ispostback()
dim conn as sqlconnection
dim datas as sqldataadapter
dim ds as new dataset
dim strcomm as string
conn=new sqlconnection("server=服务器;database=数据库;uid=用户;pwd=密码")
strcomm="select * from 表名"

conn.open()


ds= new dataset()
datas=new sqldataadapter(strcomm,conn)
datas.fill(ds,"表名")
if ds.tables("表名").rows.count=0

response.write("没有记录!")
else

dg.datasource=ds.tables("表名").defaultview
dg.databind
end if
conn.close()
conn=nothing
end if
end sub

</script>
pingan99 2003-07-23
  • 打赏
  • 举报
回复
大虾 帮忙?
pingan99 2003-07-23
  • 打赏
  • 举报
回复
帮忙!
pingan99 2003-07-23
  • 打赏
  • 举报
回复
这里的表名指什么!数据库中的表,还是datatable中的表!
felix1200 2003-07-23
  • 打赏
  • 举报
回复
给你一段代码参考:
sqlConnection1 = new SqlConnection("server=localhost;database=数据库名;Trusted_Connection=yes");
SqlDataAdapter MyComm = new SqlDataAdapter("select * from 表名",sqlConnection1);
MyComm.InsertCommand = new SqlCommand ("insert into 表名 (ID,Sno,Sname,Ssex,Sage,Clno) values(10,'2003101','aaaaaa','男',23,'00514')",sqlConnection1);
DataSet MyDataSet = new DataSet();
MyComm.Fill(MyDataSet,"Student");
DataRow dr=MyDataSet.Tables["Student"].NewRow();
MyDataSet.Tables["Student"].Rows.Add(dr);
MyComm.Update(MyDataSet,"Student");

sin360 2003-07-23
  • 打赏
  • 举报
回复
首先必须有保存DataSet的地方,如Application/Session
其他相同
pingan99 2003-07-23
  • 打赏
  • 举报
回复
up
pingan99 2003-07-23
  • 打赏
  • 举报
回复
具体讲一下!
我的是添加(在datagrid中添加后)
如何实现呢!
felix1200 2003-07-23
  • 打赏
  • 举报
回复
可以使用UpDate函数,通过修改后的DataSet更新数据库!
pingan99 2003-07-23
  • 打赏
  • 举报
回复
大虾
你在哪里?
相关推荐
发帖
.NET社区

6.1w+

社区成员

.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
帖子事件
创建了帖子
2003-07-23 10:13
社区公告

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

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