查询数据库把查询到的结果转换成XML格式字符串问题

时间:2021-07-16 07:33:50

查询数据库把查询到的结果转换成XML格式字符串问题
如图 数据库结构是这样的
但是因为最后一个字段是NULL 抓取的时候被忽略的
<Table>
 <userId>1</userId>
 <userName>1</userName> 
<userPassword>1</userPassword> 
</Table>
要怎么补全?直接使用这个数据集UPDATE到另一个数据库中会报错 缺少字段。。。

10 个解决方案

#1


我是一个新人,我觉得很奇怪,我说一下我的观点:既然你都能查出来数据了,而且isMember字段都是空的。你存进XML中,想知道UPDATE是怎么写的?

#2


最好的办法是把 isMember 字段设为非空。

#3


引用 2 楼 xiaowei90113 的回复:
最好的办法是把 isMember 字段设为非空。

但是这个不得看具体数据库情况而视情况能不能不为空。。。

#4


引用 1 楼 q469966816 的回复:
我是一个新人,我觉得很奇怪,我说一下我的观点:既然你都能查出来数据了,而且isMember字段都是空的。你存进XML中,想知道UPDATE是怎么写的?

就是C#自带的那个

#5


你自己写个 sql 语句去更新记录把。

为了“省得写5、6行 ado.net 代码”而不惜浪费时间上网、甚至连 XML 都整出来了!

#6


引用 5 楼 sp1234 的回复:
你自己写个 sql 语句去更新记录把。

为了“省得写5、6行 ado.net 代码”而不惜浪费时间上网、甚至连 XML 都整出来了!

不晓得  我是打算把一个数据库的数据导入到另外一个异种数据库内想不出其他方法了 求指教

#7


查询数据库生成XML文件
 protected void btnCreateXML_Click(object sender, EventArgs e)
    {
        OleDbConnection dataConn = CreateAccessCon();//创建数据库连接对象
        Uri Path = Request.Url;//提供统一资源标识符URI
        String ServerUrl = Path.ToString();//定义一个字符串标识URI路径
        ServerUrl = ServerUrl.Substring(0, ServerUrl.LastIndexOf("/") + 1);
        try
        {
            
            Literal1.Text = "已经在你的相同目录下创建了一下文件:<br/>";//生成XML文件成功给予如下提示
            dataConn.Open();
            //应用了指定的限制之后,按照 GUID 的指示从数据源返回架构信息
            DataTable schemaTable = dataConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
            for (int I = 0; I < schemaTable.Rows.Count; I++)
            {
                //创建数据适配器
                OleDbDataAdapter dbAdapter = new OleDbDataAdapter("select * from [" + schemaTable.Rows[I].ItemArray[2].ToString() + "]", dataConn);
                
                DataSet tableData = new DataSet();//创建数据集
                
                dbAdapter.Fill(tableData, schemaTable.Rows[I].ItemArray[2].ToString());//填充数据集
                //将DataSet数据及其架构填充到XML文件中
                tableData.WriteXml(HttpContext.Current.Server.MapPath(schemaTable.Rows[I].ItemArray[2].ToString() + ".xml"));
                Literal1.Text = Literal1.Text + "<a href='" + ServerUrl + schemaTable.Rows[I].ItemArray[2].ToString() + ".xml'>" + schemaTable.Rows[I].ItemArray[2].ToString() + ".xml</a><br/>";
            }
        }
        catch (Exception ex)
        {
            Label1.Text = ex.Message.ToString();
        }
        finally
        {
            dataConn.Close();
        }
    }

#8


用List泛型是不是可以解决?

#9


List泛型转换成XML?

#10


引用 3 楼 xianjian770 的回复:
Quote: 引用 2 楼 xiaowei90113 的回复:

最好的办法是把 isMember 字段设为非空。

但是这个不得看具体数据库情况而视情况能不能不为空。。。


这是是一种解决问题的办法,当然你也可以通过自己写 sql 语句来解决

#1


我是一个新人,我觉得很奇怪,我说一下我的观点:既然你都能查出来数据了,而且isMember字段都是空的。你存进XML中,想知道UPDATE是怎么写的?

#2


最好的办法是把 isMember 字段设为非空。

#3


引用 2 楼 xiaowei90113 的回复:
最好的办法是把 isMember 字段设为非空。

但是这个不得看具体数据库情况而视情况能不能不为空。。。

#4


引用 1 楼 q469966816 的回复:
我是一个新人,我觉得很奇怪,我说一下我的观点:既然你都能查出来数据了,而且isMember字段都是空的。你存进XML中,想知道UPDATE是怎么写的?

就是C#自带的那个

#5


你自己写个 sql 语句去更新记录把。

为了“省得写5、6行 ado.net 代码”而不惜浪费时间上网、甚至连 XML 都整出来了!

#6


引用 5 楼 sp1234 的回复:
你自己写个 sql 语句去更新记录把。

为了“省得写5、6行 ado.net 代码”而不惜浪费时间上网、甚至连 XML 都整出来了!

不晓得  我是打算把一个数据库的数据导入到另外一个异种数据库内想不出其他方法了 求指教

#7


查询数据库生成XML文件
 protected void btnCreateXML_Click(object sender, EventArgs e)
    {
        OleDbConnection dataConn = CreateAccessCon();//创建数据库连接对象
        Uri Path = Request.Url;//提供统一资源标识符URI
        String ServerUrl = Path.ToString();//定义一个字符串标识URI路径
        ServerUrl = ServerUrl.Substring(0, ServerUrl.LastIndexOf("/") + 1);
        try
        {
            
            Literal1.Text = "已经在你的相同目录下创建了一下文件:<br/>";//生成XML文件成功给予如下提示
            dataConn.Open();
            //应用了指定的限制之后,按照 GUID 的指示从数据源返回架构信息
            DataTable schemaTable = dataConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
            for (int I = 0; I < schemaTable.Rows.Count; I++)
            {
                //创建数据适配器
                OleDbDataAdapter dbAdapter = new OleDbDataAdapter("select * from [" + schemaTable.Rows[I].ItemArray[2].ToString() + "]", dataConn);
                
                DataSet tableData = new DataSet();//创建数据集
                
                dbAdapter.Fill(tableData, schemaTable.Rows[I].ItemArray[2].ToString());//填充数据集
                //将DataSet数据及其架构填充到XML文件中
                tableData.WriteXml(HttpContext.Current.Server.MapPath(schemaTable.Rows[I].ItemArray[2].ToString() + ".xml"));
                Literal1.Text = Literal1.Text + "<a href='" + ServerUrl + schemaTable.Rows[I].ItemArray[2].ToString() + ".xml'>" + schemaTable.Rows[I].ItemArray[2].ToString() + ".xml</a><br/>";
            }
        }
        catch (Exception ex)
        {
            Label1.Text = ex.Message.ToString();
        }
        finally
        {
            dataConn.Close();
        }
    }

#8


用List泛型是不是可以解决?

#9


List泛型转换成XML?

#10


引用 3 楼 xianjian770 的回复:
Quote: 引用 2 楼 xiaowei90113 的回复:

最好的办法是把 isMember 字段设为非空。

但是这个不得看具体数据库情况而视情况能不能不为空。。。


这是是一种解决问题的办法,当然你也可以通过自己写 sql 语句来解决