我也是吉大的,看到校友真高兴,呵呵。
10 个解决方案
#1
等待老大出现
#2
SQLServer2000以后支持XML,以前的版本只有自己解析了。
#3
楼主是问如何写入SQL SERVER吗?
ADO...
ADO...
#4
恩,ADO方式,数据库是sql server 2000
#5
解析XML文件,写入表里就可以了吧
按节点
按节点
#6
不好意思,我没有说清楚.
要在vc中实现把一个xml文件导入到没有表结构定义的sql server2000数据库中
的方法?
要在vc中实现把一个xml文件导入到没有表结构定义的sql server2000数据库中
的方法?
#7
没有表?你要存到哪里?
#8
我的个人思路:是这样,用个FOR循环将记录一条条写回到SQL中,
for (i=0;i<最大结点数-1;i++)//这个最大结点数,对应于XML表的子孙结点.
{
//一条条取数据,这里结点1...n为了方便好记,取名最好与数据库字段相对应
字段一变量=结点1的值;
字段二变量=结点2的值;
字段三变量=结点3的值;
字段四变量=结点4的值;
.
.
.
字段N变量=结点N的值;
}
再将字段变量写回SQL;就OK了.前提是SQL表结构与XML相对应,如果想只用XML的表结构生成SQL的表结构也可以,但麻烦点,要先CREATE TABLE 再读取XML相应结点做表字段,最后一起EXECUTE SQL.
for (i=0;i<最大结点数-1;i++)//这个最大结点数,对应于XML表的子孙结点.
{
//一条条取数据,这里结点1...n为了方便好记,取名最好与数据库字段相对应
字段一变量=结点1的值;
字段二变量=结点2的值;
字段三变量=结点3的值;
字段四变量=结点4的值;
.
.
.
字段N变量=结点N的值;
}
再将字段变量写回SQL;就OK了.前提是SQL表结构与XML相对应,如果想只用XML的表结构生成SQL的表结构也可以,但麻烦点,要先CREATE TABLE 再读取XML相应结点做表字段,最后一起EXECUTE SQL.
#9
通ADO 的结果集 save() 生成的xml文件中
比如:
<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'
xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'
xmlns:rs='urn:schemas-microsoft-com:rowset'
xmlns:z='#RowsetSchema'>
<s:Schema id='RowsetSchema'>
<s:ElementType name='row' content='eltOnly'>
<s:AttributeType name='id' rs:number='1'>
<s:datatype dt:type='i2' dt:maxLength='2' rs:precision='5' rs:fixedlength='true' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='name' rs:number='2' rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='15' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='password' rs:number='3' rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='15' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='phone' rs:number='4' rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='15' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='city' rs:number='5' rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='50' rs:maybenull='false'/>
</s:AttributeType>
<s:extends type='rs:rowbase'/>
</s:ElementType>
</s:Schema>
<rs:data>
<z:row id='1' name='dodo' password='dodo' phone='11111111' city='NY '/>
<z:row id='2' name='kaka' password='111' phone='22222222' city='CA '/>
</rs:data>
</xml>
有没有什么比较方便的方法,建表,导数据一起完成的?
比如:
<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'
xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'
xmlns:rs='urn:schemas-microsoft-com:rowset'
xmlns:z='#RowsetSchema'>
<s:Schema id='RowsetSchema'>
<s:ElementType name='row' content='eltOnly'>
<s:AttributeType name='id' rs:number='1'>
<s:datatype dt:type='i2' dt:maxLength='2' rs:precision='5' rs:fixedlength='true' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='name' rs:number='2' rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='15' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='password' rs:number='3' rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='15' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='phone' rs:number='4' rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='15' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='city' rs:number='5' rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='50' rs:maybenull='false'/>
</s:AttributeType>
<s:extends type='rs:rowbase'/>
</s:ElementType>
</s:Schema>
<rs:data>
<z:row id='1' name='dodo' password='dodo' phone='11111111' city='NY '/>
<z:row id='2' name='kaka' password='111' phone='22222222' city='CA '/>
</rs:data>
</xml>
有没有什么比较方便的方法,建表,导数据一起完成的?
#10
如果没有表,在解析完XML后,确定表格字段,在程序中生成表格及相应字段,然后将解析出的数据写入表的相应字段中。
#1
等待老大出现
#2
SQLServer2000以后支持XML,以前的版本只有自己解析了。
#3
楼主是问如何写入SQL SERVER吗?
ADO...
ADO...
#4
恩,ADO方式,数据库是sql server 2000
#5
解析XML文件,写入表里就可以了吧
按节点
按节点
#6
不好意思,我没有说清楚.
要在vc中实现把一个xml文件导入到没有表结构定义的sql server2000数据库中
的方法?
要在vc中实现把一个xml文件导入到没有表结构定义的sql server2000数据库中
的方法?
#7
没有表?你要存到哪里?
#8
我的个人思路:是这样,用个FOR循环将记录一条条写回到SQL中,
for (i=0;i<最大结点数-1;i++)//这个最大结点数,对应于XML表的子孙结点.
{
//一条条取数据,这里结点1...n为了方便好记,取名最好与数据库字段相对应
字段一变量=结点1的值;
字段二变量=结点2的值;
字段三变量=结点3的值;
字段四变量=结点4的值;
.
.
.
字段N变量=结点N的值;
}
再将字段变量写回SQL;就OK了.前提是SQL表结构与XML相对应,如果想只用XML的表结构生成SQL的表结构也可以,但麻烦点,要先CREATE TABLE 再读取XML相应结点做表字段,最后一起EXECUTE SQL.
for (i=0;i<最大结点数-1;i++)//这个最大结点数,对应于XML表的子孙结点.
{
//一条条取数据,这里结点1...n为了方便好记,取名最好与数据库字段相对应
字段一变量=结点1的值;
字段二变量=结点2的值;
字段三变量=结点3的值;
字段四变量=结点4的值;
.
.
.
字段N变量=结点N的值;
}
再将字段变量写回SQL;就OK了.前提是SQL表结构与XML相对应,如果想只用XML的表结构生成SQL的表结构也可以,但麻烦点,要先CREATE TABLE 再读取XML相应结点做表字段,最后一起EXECUTE SQL.
#9
通ADO 的结果集 save() 生成的xml文件中
比如:
<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'
xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'
xmlns:rs='urn:schemas-microsoft-com:rowset'
xmlns:z='#RowsetSchema'>
<s:Schema id='RowsetSchema'>
<s:ElementType name='row' content='eltOnly'>
<s:AttributeType name='id' rs:number='1'>
<s:datatype dt:type='i2' dt:maxLength='2' rs:precision='5' rs:fixedlength='true' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='name' rs:number='2' rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='15' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='password' rs:number='3' rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='15' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='phone' rs:number='4' rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='15' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='city' rs:number='5' rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='50' rs:maybenull='false'/>
</s:AttributeType>
<s:extends type='rs:rowbase'/>
</s:ElementType>
</s:Schema>
<rs:data>
<z:row id='1' name='dodo' password='dodo' phone='11111111' city='NY '/>
<z:row id='2' name='kaka' password='111' phone='22222222' city='CA '/>
</rs:data>
</xml>
有没有什么比较方便的方法,建表,导数据一起完成的?
比如:
<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'
xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'
xmlns:rs='urn:schemas-microsoft-com:rowset'
xmlns:z='#RowsetSchema'>
<s:Schema id='RowsetSchema'>
<s:ElementType name='row' content='eltOnly'>
<s:AttributeType name='id' rs:number='1'>
<s:datatype dt:type='i2' dt:maxLength='2' rs:precision='5' rs:fixedlength='true' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='name' rs:number='2' rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='15' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='password' rs:number='3' rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='15' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='phone' rs:number='4' rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='15' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='city' rs:number='5' rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='50' rs:maybenull='false'/>
</s:AttributeType>
<s:extends type='rs:rowbase'/>
</s:ElementType>
</s:Schema>
<rs:data>
<z:row id='1' name='dodo' password='dodo' phone='11111111' city='NY '/>
<z:row id='2' name='kaka' password='111' phone='22222222' city='CA '/>
</rs:data>
</xml>
有没有什么比较方便的方法,建表,导数据一起完成的?
#10
如果没有表,在解析完XML后,确定表格字段,在程序中生成表格及相应字段,然后将解析出的数据写入表的相应字段中。