日期:2014-05-18 浏览次数:21123 次
很感谢各位提供的代码,现在虽然不报Update 无法找到 TableMapping['table'] 或 DataTable“table”。
这个错误了,但是依然不能将DataSet中的保存到数据库
http://topic.csdn.net/u/20081216/10/6b1e01d6-e8ff-4696-9bfc-ac776b31641e.html?seed=1494657499
以下是我的代码
protected void Button2_Click(object sender, EventArgs e)
{
WebSerict.Service_order order = new WebSerict.Service_order();//这是一个webservice的调用
DataSet ds = new DataSet();
ds = order.getdata("zhanghao", "p1", "p2");//返回一个dataset
SqlConnection conn = new SqlConnection(ConfigurationManager.
ConnectionStrings["WebConnectionString935"].ConnectionString);
SqlDataAdapter myAdapter = new SqlDataAdapter();
string s = "INSERT INTO [Web].[dbo].[getdata]([bl_no],[bl_create_date],[bl_create_time]"
+ ",[ship_cor_code],[agent],[vessel],[voyage],[dis_port],[mid_port])VALUES"
+ "(<bl_no, varchar(30),>,<bl_create_date, varchar(8),>,<bl_create_time, varchar(8),>"
+ ",<ship_cor_code, varchar(10),> ,<agent, varchar(15),>,<vessel, varchar(15),>"
+ ",<voyage, varchar(10),> ,<dis_port, varchar(30),>,<mid_port, varchar(30),>)";
SqlCommand myCommand = new SqlCommand(s, conn);
s = "select * from dbo.getdata";
SqlCommand myCommand2 = new SqlCommand(s, conn);
myAdapter.SelectCommand = myCommand2;
myAdapter.InsertCommand = myCommand;
SqlCommandBuilder bu = new SqlCommandBuilder(myAdapter);
DataRow row = ds.Tables[0].Rows[0];
TextBox1.Text = bu.GetInsertCommand().CommandText.ToString();
TextBox2.Text = bu.GetUpdateCommand().CommandText.ToString();
DataTableMapping tableMapping = myAdapter.TableMappings.Add("getdata",ds.Tables[0].TableName.ToString());
//DataTable dt = ds.Tables[0];
myAdapter.Update(ds, "getdata");
}
我本地表的表结构
CREATE TABLE [dbo].[getdata](
[bl_no] [varchar](30) COLLATE Chinese_PRC_CI_AS NOT NULL,
[bl_create_date] [varchar](8) COLLATE Chinese_PRC_CI_AS NULL,
[bl_create_time] [varchar](8) COLLATE Chinese_PRC_CI_AS NULL,
[ship_cor_code] [varchar](10) COLLATE Chinese_PRC_CI_AS NULL,
[agent] [varchar](15) COLLATE Chinese_PRC_CI_AS NULL,
[vessel] [varchar](15) COLLATE Chinese_PRC_CI_AS NULL,
[voyage] [varchar](10) COLLATE Chinese_PRC_CI_AS NULL,
[dis_port] [varchar](30) COLLATE Chinese_PRC_CI_AS NULL,
[mid_port] [varchar](30) COLLATE Chinese_PRC_CI_AS NULL,
)
其实就是多加一个DataSet
localhost.WebService webs = new localhost.WebService();
DataSet ds = new DataSet();
ds = webs.HelloWorld1();
SqlConnection conn = new SqlConnection(ConfigurationManager.
ConnectionStrings["zh1_databaseConnectionString935"].ConnectionString);
conn.Open();
string s = "select * from getdata_new";
SqlDataAdapter myAdapter = new SqlDataAdapter(s,conn);
SqlCommandBuilder objCommandBuilder = new SqlCommandBuilder(myAdapter);
DataSet dsSoure = new DataSet();
myAdapter.Fill(dsSoure);
DataRow row = null;
foreach (DataRow row1 in ds.Tables[0].Rows)
{
row = dsSoure.Tables[0].NewRow();
row[0] = row1[0];
dsSoure.