求助:在ASP.NET批量增加数据

RedriverLu 2003-04-03 05:31:01
请问:怎样在ASP.NET利用ADO.NET批量增加数据,用Datagrid显示多条增加的结果,最后,一次性提交到数据库?
...全文
65 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
terryxin 2003-04-03
  • 打赏
  • 举报
回复
用存储过程实现吧
RedriverLu 2003-04-03
  • 打赏
  • 举报
回复
DataRow dr= dataSet11.Tables["customers"].NewRow();
dr["companyName"]="NIKE";
dr["customerID"]="NIDE"+dataSet11.Tables["customers"].Rows.Count.ToString();
dataSet11.Tables["customers"].Rows.Add(dr);

以上语句在windows form中可以正确执行,并且能正确显示
但是在web form中就不能增加和显示数据。

RedriverLu 2003-04-03
  • 打赏
  • 举报
回复
补充一点:一个Webform,有一个绑定的Datagrid作显示数据用,另外,有一个TextBox和两个Button-<btnAdd>,<btnNew>,要求:点击<btnAdd>,将TextBox中的数据加入到Dataset中,并且通过DataGrid显示出,点击<btnAdd>,加入多条数据,最后,按<btnSave>将数据一次性提交到数据库中!
houjianxun 2003-04-03
  • 打赏
  • 举报
回复
用for来做
for(int i =0;i<DataGrid.Items.Count;i++)
{
code....
}
yypt111 2003-04-03
  • 打赏
  • 举报
回复
表示层:(页面.aspx.vb)
'在一个事务里Copy查询到的文件以及目录到选定的目录下面
Dim con As New OleDb.OleDbConnection()
Dim ObjTran As OleDb.OleDbTransaction '事务管理对象
Dim objPD As New PersonDoc(CType(Application("ConnectionString"), String))
Dim i As Integer, j As Integer, Intrtn As Int16
Dim Dstmp As DataSet
Dim Tr As DataRow

Try
For i = 0 To Tb_doc.Rows.Count - 1
Dstmp = New DataSet()
Dstmp = objPD.GetByPk(mDv_Doc.Item(i).Item("Docno"))
StrDocArr(0) = ""
.............................
objPD.AddDocCon(StrDocArr, Dstmp.Tables(0).Rows(0).Item("Docdetail"), con, ObjTran)
Next
ObjTran.Commit()
LblErrMag.Text = "复制成功"
LblErrMag.ForeColor = Color.FromArgb(0, 0, 255)
Catch E As Exception
ObjTran.Rollback()
LblErrMag.Text = "复制失败"
LblErrMag.ForeColor = Color.FromArgb(255, 0, 0)
Finally
If Not (con Is Nothing) Then
If Not (con.State = ConnectionState.Closed) Then
con.Close()
End If
End If
End Try

中间层函数:
public string AddDocCon(string[] VAstradd,byte[] VbyteFile,OleDbConnection VobjCn,OleDbTransaction VObjTran)
{
if(mcnStr == "")//连接字符串为空,则抛出错误
{
throw(new ArgumentNullException("ConnectionString","数据库连接字符串为空"));
}

OleDbCommand objCmd;
OleDbCommand objCmdQry;

objCmd = new OleDbCommand();
objCmd.Connection = VobjCn;
objCmd.CommandType=CommandType.Text;
objCmd.Transaction =VObjTran;

//***********增加记录*************
try
{
objCmd.CommandText="insert into PersonDoc .....;
objCmd.ExecuteNonQuery();
return IntMaxID.ToString();
}
catch(OleDbException dbErr)
{
throw(dbErr);
}
catch (Exception e)
{
throw(new Exception("方法ccccc中发生错误", e));
}
}//end of the method AddDocCon
yypt111 2003-04-03
  • 打赏
  • 举报
回复
很简单
(1)定义中间层函数(传入datatable,在一个事务里处理)
(2)处理成功在表示层显示
我这儿有在表示层定义事务,连接传入中间层处理完一笔,在表示层循环的例子
zwztu 2003-04-03
  • 打赏
  • 举报
回复
关注

62,046

社区成员

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

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

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

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