C#中修改、添加数据问题

hztgcl1986 2010-01-13 09:17:58
ASP.NET中使用C#进行数据的添加与修改,不想使用insert、update SQL语句,
想使用类似于ASP中的Recordset对象的方法,请问如何实现?

Recordset中,添加数据时,AddNew()后再指定各个字段的值,最后Update()就会直接更新到数据库,
C#中该使用什么对象呢?
...全文
193 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
hztgcl1986 2010-01-13
  • 打赏
  • 举报
回复
没人回复呢
hztgcl1986 2010-01-13
  • 打赏
  • 举报
回复
to1楼 我要在ASP.NET实现
antony1029 2010-01-13
  • 打赏
  • 举报
回复
DataSet吧。离线取出来,编辑之后 再整个提交。
平生我自如 2010-01-13
  • 打赏
  • 举报
回复
最近没作asp 不是很熟
Hamsic 2010-01-13
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 hztgcl1986 的回复:]
我的目的就是,我不写SQL,它本质上生成SQL就生成好了
[/Quote]
拿你明白了 不就行了 - -. 囧
hztgcl1986 2010-01-13
  • 打赏
  • 举报
回复
我的目的就是,我不写SQL,它本质上生成SQL就生成好了
Hamsic 2010-01-13
  • 打赏
  • 举报
回复
乍看之下貌似没有拼接SQL 实质呢?
eHuaTian 2010-01-13
  • 打赏
  • 举报
回复
那使用存储过程来操作
Hamsic 2010-01-13
  • 打赏
  • 举报
回复
那直接问你了

da.Update()这个方法最本质的操作是什么?
Hamsic 2010-01-13
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 tchjl2007 的回复:]
引用 12 楼 hztgcl1986 的回复:
11楼的大哥,DataProcess是我自己写的类,代码中有啊


那还不是没跟新到数据库...
[/Quote]

哦 少看一段。。
Hamsic 2010-01-13
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 hztgcl1986 的回复:]
11楼的大哥,DataProcess是我自己写的类,代码中有啊
[/Quote]

那还不是没跟新到数据库...
hztgcl1986 2010-01-13
  • 打赏
  • 举报
回复
11楼的大哥,DataProcess是我自己写的类,代码中有啊
Hamsic 2010-01-13
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 hztgcl1986 的回复:]
什么有效率,帖个出来啊
[/Quote]
= = 貌似没VS里没 DataProcess这个类的吧?
hztgcl1986 2010-01-13
  • 打赏
  • 举报
回复
什么有效率,帖个出来啊
Hamsic 2010-01-13
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 hztgcl1986 的回复:]
to6楼,已经找到实现方法
自己不会不要说别人傻
C# code
internalclass DataProcess
{private SqlConnection conn;private SqlDataAdapter da;internal DataProcess(SqlConnection conn)
{this.conn= conn;
}internal DataTable GetDataTable(string tsql)
{
da=new SqlDataAdapter(tsql, conn);
DataTable dt=new DataTable();
da.Fill(dt);return dt;
}internalvoid SaveDataTable(DataTable dt)
{
SqlCommandBuilder cb=new SqlCommandBuilder(da);

da.Update(dt);
dt.AcceptChanges();

cb.Dispose();
}
}


插入数据调用代码
C# code

SqlConnection conn= Conn.GetConn();
DataProcess dp=new DataProcess(conn);
DataTable dt= dp.GetDataTable("Select * From 表A Where 1=0");
DataRow dr= dt.NewRow();
dr["字段1"]="un";
dr["字段2"]="pwd";

dt.Rows.Add(dr);

dp.SaveDataTable(dt);

[/Quote]

没效率的。。。
hztgcl1986 2010-01-13
  • 打赏
  • 举报
回复
to6楼,已经找到实现方法
自己不会不要说别人傻

internal class DataProcess
{
private SqlConnection conn;
private SqlDataAdapter da;

internal DataProcess(SqlConnection conn)
{
this.conn = conn;
}

internal DataTable GetDataTable(string tsql)
{
da = new SqlDataAdapter(tsql, conn);
DataTable dt = new DataTable();
da.Fill(dt);

return dt;
}

internal void SaveDataTable(DataTable dt)
{
SqlCommandBuilder cb = new SqlCommandBuilder(da);

da.Update(dt);
dt.AcceptChanges();

cb.Dispose();
}
}



插入数据调用代码


SqlConnection conn = Conn.GetConn();
DataProcess dp = new DataProcess(conn);
DataTable dt = dp.GetDataTable("Select * From 表A Where 1=0");
DataRow dr = dt.NewRow();
dr["字段1"] = "un";
dr["字段2"] = "pwd";

dt.Rows.Add(dr);

dp.SaveDataTable(dt);

yjiesun 2010-01-13
  • 打赏
  • 举报
回复
DataSet
卧_槽 2010-01-13
  • 打赏
  • 举报
回复
先学习 数据库原理
然后再发这些傻问题。
-汪帆- 2010-01-13
  • 打赏
  • 举报
回复
不使用insert、update SQL语句是不可能的,你可以把他们封装到后台或者写成存储过程。
数据访问相关的类如下:
命名空间System.Data.Sqlclient
SqlConnection
SqlDataAdapter
SqlCommand
命名空间System.Data
DataSet

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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