XML怎样才能连接和访问SQL数据库

XML怎样才能连接和访问SQL数据库,第1张

可以做一个类库,用xml调用

using

System.Data.Sqlcolint

using

System.Xml

咨询通过读取xml文件连接sqlserver数据库的问题

悬赏分:20

-

提问时间2007-11-6

16:34

我的问题:

1。连接数据库方式是个类库(做成dll文件)

2。连接数据库的登录名密码等字符串是从config.xml中读取

3。是从类库中读取还是从别的地方读取config.xml?因为在类库中有个连接数据库的语句。

4。如果连接数据库的密码错误,会自动提示连接错误,然后d出个小窗口,修改config.xml中的数据库密码等,然后保存。这个步骤在哪里写?

===================================================================================================================

我的部分代码:

1。连接数据库的类库:

Imports

System.data.sqlclient

Public

Class

DB

'sCon为连接字符串

Private

sCon

As

String

=

"User

ID=saInitial

Catalog=dbnameData

Source=(local)

"

Public

Function

GetDataTable(ByVal

strSql

As

String)

As

DataTable

Dim

myDt

As

New

DataTable

Dim

sqlConn

As

SqlConnection

=

New

SqlConnection(sCon)

Dim

myCmd

As

SqlCommand

=

New

SqlCommand(strSql,

sqlConn)

Dim

myDa

As

New

SqlDataAdapter(strSql,

sqlConn)

Try

myDa.Fill(myDt)

Catch

er

As

Exception

Finally

sqlConn.Close()

End

Try

Return

myDt

End

Function

End

Class

public

Void

ReaderXML(string

URL)//URL是XML文件的路径

{

DataSet

ds

=

new

DataSet()

ds.ReaderXml("URL")

//下面就是把这个数据集存到数据库里面

}

sqlserver2005分解并导入xml文件[@more@]

1.

一次性导入:

declare

@idoc

int

declare

@doc

xml

select

@doc=bulkcolumn

from

openrowset(bulk

n'e:mstarindustrycodes.xml',

single_blob)

as

x

exec

sp_xml_preparedocument

@idoc

output,

@doc

select

*

into

tmp_tab

from

openxml

(@idoc,

'/root/record'/',2)

with

(

industrycode

varchar(10)

,industryglobalid

varchar(10)

,industryname

varchar(100)

,sectorcode

varchar(10)

,sectorglobalid

varchar(10)

,sectorname

varchar(100)

,supersectorcode

varchar(10)

,supersectorname

varchar(100)

,groupcode

varchar(10)

,groupname

varchar(100)

,countryid

varchar(3)

)

exec

sp_xml_removedocument

@idoc

select

*

from

tmp_tab

2.

先导入到表中varchar(max)列,然后再用openxml解析,读出。

--

使用single_clob参数,tmp_raw中字段为varcahr(max)类型

select

*

into

tmp_raw

from

openrowset(bulk

n'e:mstarindustrycodes.xml',

single_clob)

as

x

declare

@idoc

int

declare

@doc

xml

select

@doc

=

bulkcolumn

from

tmp_raw

exec

sp_xml_preparedocument

@idoc

output,

@doc

select

top

10

*

from

openxml

(@idoc,

'/root/record',

1)

with

(

industrycode

varchar(10)

,industryglobalid

varchar(10)

,industryname

varchar(100)

,sectorcode

varchar(10)

,sectorglobalid

varchar(10)

,sectorname

varchar(100)

,supersectorcode

varchar(10)

,supersectorname

varchar(100)

,groupcode

varchar(10)

,groupname

varchar(100)

,countryid

varchar(3)

)

exec

sp_xml_removedocument

@idoc


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9895106.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-03
下一篇2023-05-03

发表评论

登录后才能评论

评论列表(0条)

    保存