我通过运算形成了一个完整的数据表DataTable dt,但是,现在我该如何把该表添加到现有数据库的tx表里面呢?(目前tx表只有表结构,没有记录)
解决方案 »
- 怎么初始化数组急求高手解答,急急急急急急急急
- C#按钮在屏幕下方居中的程序
- 怎么设置winform picturebox 橡皮擦
- C# 问题 (我分 不多,希望赐教)
- 关于P2P监听端口问题
- 水晶报表多层列头合计问题
- c# 调用using System.Speech.Synthesis语音发音无声音
- 怎样在程序中手动调用treeview的treeView1_AfterSelect事件?
- C#中可以用类似于LoadLibrary/GetProcAddress的方法来调用dll函数吗?
- 求遍历网页新链接的方法
- Page Header or footer longer than a page 这个报表难题如何解决?
- 急~~在线等,解决马上结帖~dropdownlist选好对应值后在TEXTBOX中改为对应的值~
{
if (Page.IsValid)
{
//除了验证控件,我又写了一个函数处理额外的验证
if (CheckValid() == false)
{
return;
} //0永远不可能大于1,所以实际上这条SQL是取不到数据的,不过我只是借助它建立表结构罢了
string sql = "SELECT * FROM OfficeUseBusRecord WHERE 0>1";
SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["TedabusMIS"].ToString());
SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
SqlCommandBuilder scb = new SqlCommandBuilder(sda);
DataSet ds = new DataSet();
sda.Fill(ds);
//这里,就可以借助数据表的NewRow方法获得一个新的数据行,其中包含了列的信息 DataRow dr = ds.Tables[0].NewRow();
dr["DeptID"] = GetCurrentUserDeptID();
dr["PersonName"] = txtUsePerson.Text;
dr["UserBusDate"] = DateTime.Parse(txtDate.Text);
dr["StartPos"] = txtStartPos.Text;
dr["DestPos"] = txtDestPos.Text;
dr["Reason"] = txtReason.Text;
ds.Tables[0].Rows.Add(dr);
//SqlDataAdapter的Update方法返回更新的数据条数,我用这个判断更新是否成功
if (sda.Update(ds) > 0)
{
RegisterStartupScript("message","<script language='JavaScript'>alert('添加成功');</script>");
}
else
{
RegisterStartupScript("message","<script language='JavaScript'>alert('添加失败');</script>");
}
}
}
我的数据库里已经有了一个空表tx(表结构已经定义,和dt表一致)
现在的问题是:
如何把dt中的数据填充到tx中?最好几句话就能完成,因为我只是要把这几句话加到我的方法中就可以了
insert into tx
select * from dt
DataTable dt=new DataTable ();
DataColumn column=new DataColumn ("sid",typeof (System .Int32 ));
dt .Columns .Add (column );
column = new DataColumn("sname", typeof(System.String));
dt.Columns.Add(column);
dt.Rows.Add(1, "aaa");
dt.Rows.Add(2, "bbb"); //更新到数据库中
SqlConnection con = new SqlConnection("server=.;database=student;uid=sa;pwd=0421");
SqlDataAdapter sda = new SqlDataAdapter("select * from studentInfor", con);
SqlCommandBuilder buider = new SqlCommandBuilder(sda);
DataTable st = new DataTable();
sda.Fill(st);
foreach (DataRow row in dt.Rows )
{
st.Rows.Add(row[0],row [1]);
}
sda.Update(st);
SqlCommandBuilder buider 是干什么的啊?在声明后没有用过啊!
st.Rows.Add(row[0],row [1]) 你是把数据考到了一个新表中了,但怎么进到数据库里呢?
sda.Fill(st);
这一句出现错误
存储过程我不会啊!我刚接触数据库
你在数据库中仿照写一个
然后在代码中与数据库沟通时,调用你写的PROCset ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[ProcInsertTArea]
(
@AreaName nvarchar(50),
@ParentAreaID int,
@Description nvarchar(50),
@PK int output
)
AS
SET NOCOUNT OFF;
INSERT INTO TArea (AreaName, ParentAreaID,Description)
VALUES (@AreaName, @ParentAreaID,@Description);
SET @PK= SCOPE_IDENTITY()
return @PK
SqlCommandBuilder buider 是干什么的啊?在声明后没有用过啊!
st.Rows.Add(row[0],row [1]) 你是把数据考到了一个新表中了,但怎么进到数据库里呢?SqlCommandBuider会自动生成命令,将数据更新到数据库中...你报的是什么异常?
1、先用数据适配器填充数据集的dt表;
2、新建一数据行并填充各列;
3、插入数据行到dt;
4、更新数据表。就这么简单,呵呵,让我查了两天的帮助。
初次接触数据库,让大家见笑了