[求助]哪位老大能把下面的程序改一下,能在PB里运行?
<P>将Excel中的数据导入到Access中,前提是在Access中的表已经建好。</P><P> 程序代码</P>
<P>dim conn<BR>dim conn2<BR>set conn=CreateObject("ADODB.Connection")<BR>conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=;Data Source=c:\book1.mdb"</P>
<P>set conn2=CreateObject("ADODB.Connection")<BR>conn2.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=;Extended properties=Excel 5.0;Data Source=c:\book1.xls"</P>
<P><BR>sql = "Select * FROM [Sheet1$]"<BR>set rs = conn2.execute(sql)<BR>while not rs.eof<BR> sql = "insert into xxx([a],[b],[c],[d]) values('"& fixsql(rs(0)) &"','"& fixsql(rs(1)) &"','"& fixsql(rs(2)) &"','"& fixsql(rs(3)) &"')"<BR> conn.execute(sql)<BR> rs.movenext<BR>wend</P>
<P>conn.close<BR>set conn = nothing<BR>conn2.close<BR>set conn2 = nothing</P>
<P>function fixsql(str)<BR> dim newstr<BR> newstr = str<BR> if isnull(newstr) then<BR> newstr = ""<BR> else<BR> newstr = replace(newstr,"'","''")<BR> end if<BR> fixsql = newstr<BR>end function</P>
<P><BR>导入到Sql Server数据库中时,如果Excel文件和数据库不在同一台服务器上时,请参考上面的代码。在同一机器上可以参考下面代码(不需要先把表建表,程序会自己动建表,用Excel中的第一行数据做为表的字段名):</P>
<P> 程序代码</P>
<P>dim conn<BR>set conn=CreateObject("ADODB.Connection")<BR>conn.Open ("driver={SQL Server};server=localhost;uid=sa;pwd=sa;database=hwtemp;")<BR>sql = "Select * into newtable FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source=""c:\book1.xls"";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$] "<BR>conn.execute(sql)</P>
<P>conn.close<BR>set conn = nothing<BR><BR>************************************************************************<BR><BR>这是我在网上找的两段代码,但这两段好象不是PB代码,高手能给改一下吗?重点是第二段代码,怎么改成导入到Sql Server数据库中的(Excel文件和数据库不在同一台服务器)?</P>
页:
[1]
