【C#】怎样用DataSet读取XML,然后把DataSet的数据更新到数据库?
在此之前是:先把Database(SQLServer)的数据放到DataSet里,然后把DataSet里的数据写到XML里。而现在是:此处用DataSet读取之前的XML...
在此之前是:
先把Database(SQL Server)的数据放到DataSet里,然后把DataSet里的数据写到XML里。
而现在是:
此处用DataSet读取之前的XML,然后把DataSet的数据再 更新 到数据库?注意是更新(update),我而不是(NOT insert)放入新数据。 展开
先把Database(SQL Server)的数据放到DataSet里,然后把DataSet里的数据写到XML里。
而现在是:
此处用DataSet读取之前的XML,然后把DataSet的数据再 更新 到数据库?注意是更新(update),我而不是(NOT insert)放入新数据。 展开
展开全部
DataSet或者DataTable里面有一个WriteXML和ReadXML,还有两个对应的读取表结构的方法。从XML中读取数据到DataSet后,可粗拿搜以使用第三方的工具,将敏手DataSet里的内容写入到数据库,但是这里注意一点,就岩历是列的ID是一定要有的。
追问
第三方工具具体是什么啊?如果直接用SqlDataadapter.update()为什么不可以呢?
追答
CodeSmith,好像是叫这个名字,可以关注一下。如果是用微软本身的,有一个数据集。如果是强类型的,可以考虑Linq to SQL。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在Xml中存储的时候把Id存下就可以了,利用ID update就可以了,有困难吗?
追问
真有困难...,具体怎么用ID update啊?
追答
后面也就没必要再把数据从xml放到dataset中了吧,直接从xml中读取不管是拼个字符串还是linq往数据库里插入就行了。
如果还不明白说明两个问题,
1.楼主不会解析xml--建议查资料
2.楼主不会数据库操作--建议查资料
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using System.Data;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// "uid=sa":连接数据蔽昌库的用户名为sa.
// "password=":连接数据库的验证密码为空.他的别名为"pwd",所以我们可以写为"pwd=".
// "initial catalog=Northwind":使用的数据源为"Northwind"这个数据库.他的别名为"Database",本句可以写成"Database=Northwind".
// "Server=YourSQLServer":使用名为"YourSQLServer"宏仿扒的服务器.他的别名为"Data Source","Address","Addr".
// " Connect Timeout=30":连接超时时间为30秒.(根据情况添加)
// PS:
// 1.你的SQL Server必大消须已经设置了需要用户名和密码来登录,否则不能用这样的方式来登录.如果你的SQL Server设置为Windows登录,那么在这里就不需要使用"uid"和"password"这样的方式来登录,而需要使用"Trusted_Connection=SSPI"来进行登录.
// 2. 如果使用的是本地数据库且定义了实例名,则可以写为"Server=(local)\实例名";如果是远程服务器,则将"(local)"替换为远程服务器的名称或IP地址.
string strConnection = "Trusted_Connection=SSPI;";
strConnection += "database=NTF_Navision_enlistment60;Server=CAIXIATA-6BE823;";
strConnection += "Connect Timeout=30";
using (SqlConnection objConnection = new SqlConnection(strConnection))
{
objConnection.Open();
// method 1
SqlCommand myCommand = new SqlCommand("select * from Couse", objConnection);
Console.WriteLine("open");
SqlDataReader myReader = myCommand.ExecuteReader();
while (myReader.Read())
{
Console.WriteLine(myReader.GetFieldType(0));
Console.WriteLine(myReader.GetFieldType(1));
Console.WriteLine(myReader.GetFieldType(2));
Console.WriteLine(myReader.GetDecimal(0));
Console.WriteLine(myReader.GetDecimal(1));
Console.WriteLine(myReader.GetDecimal(2));
}
myReader.Close();
// method 2
SqlDataAdapter myCommandd = new SqlDataAdapter("select * from Couse", objConnection);
DataSet ds = new DataSet();
myCommandd.Fill(ds, "Couse");
DataTable dt = ds.Tables["couse"];
Console.WriteLine(dt.Columns[0].ToString());
Console.WriteLine(dt.DefaultView.Count);
}
}
}
}
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using System.Data;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// "uid=sa":连接数据蔽昌库的用户名为sa.
// "password=":连接数据库的验证密码为空.他的别名为"pwd",所以我们可以写为"pwd=".
// "initial catalog=Northwind":使用的数据源为"Northwind"这个数据库.他的别名为"Database",本句可以写成"Database=Northwind".
// "Server=YourSQLServer":使用名为"YourSQLServer"宏仿扒的服务器.他的别名为"Data Source","Address","Addr".
// " Connect Timeout=30":连接超时时间为30秒.(根据情况添加)
// PS:
// 1.你的SQL Server必大消须已经设置了需要用户名和密码来登录,否则不能用这样的方式来登录.如果你的SQL Server设置为Windows登录,那么在这里就不需要使用"uid"和"password"这样的方式来登录,而需要使用"Trusted_Connection=SSPI"来进行登录.
// 2. 如果使用的是本地数据库且定义了实例名,则可以写为"Server=(local)\实例名";如果是远程服务器,则将"(local)"替换为远程服务器的名称或IP地址.
string strConnection = "Trusted_Connection=SSPI;";
strConnection += "database=NTF_Navision_enlistment60;Server=CAIXIATA-6BE823;";
strConnection += "Connect Timeout=30";
using (SqlConnection objConnection = new SqlConnection(strConnection))
{
objConnection.Open();
// method 1
SqlCommand myCommand = new SqlCommand("select * from Couse", objConnection);
Console.WriteLine("open");
SqlDataReader myReader = myCommand.ExecuteReader();
while (myReader.Read())
{
Console.WriteLine(myReader.GetFieldType(0));
Console.WriteLine(myReader.GetFieldType(1));
Console.WriteLine(myReader.GetFieldType(2));
Console.WriteLine(myReader.GetDecimal(0));
Console.WriteLine(myReader.GetDecimal(1));
Console.WriteLine(myReader.GetDecimal(2));
}
myReader.Close();
// method 2
SqlDataAdapter myCommandd = new SqlDataAdapter("select * from Couse", objConnection);
DataSet ds = new DataSet();
myCommandd.Fill(ds, "Couse");
DataTable dt = ds.Tables["couse"];
Console.WriteLine(dt.Columns[0].ToString());
Console.WriteLine(dt.DefaultView.Count);
}
}
}
}
追问
谢谢,可具体怎么把dataset的data放回database里呢?
追答
你可以上csdn求助,我现在玩的数据流,代码忘的差不多了,给你指个方向,别忘了给分。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询