精华推荐: 帮忙写个算法:两个递增数列排序后求第n个数 |
C# code |
|
| #3楼 得分:0回复于:2009-01-07 23:55:22 |
精华推荐: 请教msdn上关于拆箱的解释 |
先用1<>1的条件做个空的DS,这样你就不用手动做一个DataTable了~~ |
|
| #4楼 得分:0回复于:2009-01-08 00:02:52 |
精华推荐: 【讨论】★★★★★难度!!如何在WINDOWS启动的时候,用户准备输入密码的时候,运行并且显示程序? |
引用 2 楼 HDNGO 的回复: 我是要将一个DATASET里的数据导进去请问我有数据的DATASEY怎么给他? 这个ad.Update(dt)里的dt不是从数据取出的结构吗?~1 麻烦你讲的在详细点好吗 搞定马上给分 |
|
| #5楼 得分:0回复于:2009-01-08 00:12:05 |
精华推荐: [攒分贴]每日小知识 |
给你我的测试过程~~ using System; using System.Collections.Generic; using System.Text; using System.Data.SqlClient; using System.Data; namespace InsertData{ class Program { static void Main( string [] args) { string sqlconn = " server=127.0.0.1;user id=sa;password=xxx;database=test; " ; SqlDataAdapter ad = new SqlDataAdapter( " select top 1 * from test where 1<>1 " , sqlconn); // 取个结构 DataTable dt = new DataTable(); SqlCommandBuilder cmb = new SqlCommandBuilder(ad); // 这一句很关键,必不可少。 ad.Fill(dt); for ( int i = 1 ; i < 10 ; i ++ ) { DataRow dr = dt.NewRow(); dr[ " id " ] = i; dt.Rows.Add(dr); } ad.Update(dt); Console.WriteLine( " OK " ); Console.Read(); } }} 运行后test表中有10行新加入数据~ OVER~ |
|
| #6楼 得分:0回复于:2009-01-08 00:14:20 |
ad.Fill(dt);//这句的时候,DataTable是空的~ |
|
| #7楼 得分:0回复于:2009-01-08 00:19:55 |
大哥我按你的方法写了 SqlConnection conn = new SqlConnection(str); conn.Open(); SqlDataAdapter da = new SqlDataAdapter( " select top 1 * from wind where 1<>1 " , conn); DataTable dt = xls_to_dtab(FileUpload1.PostedFile.FileName).Tables[ 0 ]; DataTable dtt = new DataTable(); da.Fill(dtt); SqlCommandBuilder cmd = new SqlCommandBuilder(da); da.Fill(dt); for ( int i = 1 ; i < dt.Rows.Count; i ++ ) { dtt.Rows.Add(dt.Rows[i].ToString()); } da.Update(dtt); |
|
| #8楼 得分:0回复于:2009-01-08 00:20:45 |
我在线等你的消息大哥一定帮帮忙哦 |
|
| #9楼 得分:0回复于:2009-01-08 00:27:56 |
你的两个表的结构给我看看~ |
|
| #10楼 得分:0回复于:2009-01-08 00:28:41 |
dtt.Rows.Add(dt.Rows[i].ItemArray); |
|
| #11楼 得分:0回复于:2009-01-08 00:30:42 |
CREATE TABLE[wind]( |
|
| #12楼 得分:0回复于:2009-01-08 00:50:47 |
string sqlconn = " server=127.0.0.1;user id=sa;password=123;database=test; " ; SqlDataAdapter ad = new SqlDataAdapter( " select Name,code,NickName,Title,http from wind where 1<>1 " , sqlconn); // 取个结构 DataTable dt = new DataTable(); SqlCommandBuilder cmb = new SqlCommandBuilder(ad); // 这一句很关键,必不可少。 ad.Fill(dt); // 由于没有XLS数据,自己凑了一行数据出来,你那块这里直接写你的就成 // 凑数据开始 DataTable dtSouce = new DataTable(); dtSouce.Columns.Add( " Name " , typeof ( string )); dtSouce.Columns.Add( " code " , typeof ( string )); dtSouce.Columns.Add( " NickName " , typeof ( string )); dtSouce.Columns.Add( " Title " , typeof ( string )); dtSouce.Columns.Add( " http " , typeof ( string )); DataRow drSouce = dtSouce.NewRow(); drSouce[ " Name " ] = " aaa " ; drSouce[ " code " ] = " 123 " ; drSouce[ " NickName " ] = " fff " ; drSouce[ " Title " ] = " eee " ; drSouce[ " http " ] = " ccc " ; dtSouce.Rows.Add(drSouce); // 凑数据结束 // 你可以用你的DataTable dtSouce = xls_to_dtab(FileUpload1.PostedFile.FileName).Tables[0]; // 来代替上边的开始到结束 for ( int i = 0 ; i < dtSouce.Rows.Count; i ++ ) { DataRow dr = dt.NewRow(); dr[ " Name " ] = dtSouce.Rows[i][ 0 ].ToString(); dr[ " code " ] = int .Parse(dtSouce.Rows[i][ 1 ].ToString()); // 对int进行转型~ dr[ " NickName " ] = dtSouce.Rows[i][ 2 ].ToString(); dr[ " Title " ] = dtSouce.Rows[i][ 3 ].ToString(); dr[ " http " ] = dtSouce.Rows[i][ 4 ].ToString(); dt.Rows.Add(dr); } ad.Update(dt); Console.WriteLine( " OK " ); Console.Read(); |