笨狼兄弟能进来帮我一下吗 这个东西再做不出来老板就要生气了___________________

leehuai 2005-07-11 10:39:00
excel到入sql 如果sql中没有数据则excel完全导入并且自动生成用户名密码 如果再次导入数据则与第一次导入的数据比较如果数据相同则保留原有的数据,如果再次导入excel的内容数据库中没有,就把没有的内容自动填加到数据库内并生成用户名和密码 
现在excel到入sql并自动生成用户名密码我已经实现了 但不知道这个比较怎么实现 期待高手帮忙

以下是excel到入sql自动生成用户名密码的代码 大家帮我实现那个比较吧 谢谢了
<%
Dim cn,oConn,connstr

Set cn = Server.CreateObject("ADODB.Connection")
cn.Provider = "Microsoft.Jet.OLEDB.4.0 "
cn.ConnectionString = "Data Source=" & Server.MapPath("link.xls") & ";" & _
"Extended Properties=Excel 8.0;"
cn.Open

set rsRead=server.CreateObject("ADODB.Recordset")
rsRead.Open "select * from [Sheet1$]",cn,1,1
do until rsRead.EOF

tmp = "0123456789ascdefghijklmnopqrstuvwxyz"
Temp4 = RoundStr(tmp,6)
Temp3 = RoundStr(tmp,8)

oConn.Execute("Insert into link(userid,password,h_name,h_pwd)Values('"& rsRead.Fields("userid")&"','" &rsRead.Fields("password") & "','"& Temp4 &"','"& Temp3 &"')" )

rsRead.MoveNext
loop

Function RoundStr(str,Num)
s = ""
for i = 1 to Num
Randomize
strLen = Len(str)
t = Round((RND * (strLen-1))+1)
s = s & mid(str,t,1)
Next
RoundStr = s
End Function
%>
...全文
1045 70 打赏 收藏 转发到动态 举报
写回复
用AI写文章
70 条回复
切换为时间正序
请发表友善的回复…
发表回复
leehuai 2005-07-12
  • 打赏
  • 举报
回复
思路到是有 因为我语句不知道怎么写 所以。。。。。
mzhmark 2005-07-12
  • 打赏
  • 举报
回复
其实上面有很多人都说出了方法、思路,楼主为什么一定要完整的代码呢,按照思路自己想想怎么写不好吗?!!!
wxylvmnn 2005-07-12
  • 打赏
  • 举报
回复
再建一个表行不?如果不行,就建一个临时表#好了。

先把execel里的内容全部导入到#里面。

然后(看表,要吃饭了,有点饿了...)

然后,让#跟sql中的表left join。
(以下是思路)
select #.* from # left join link
on #.主键 = link.主键
where link.主键 is null --这句是关键

上面这句sql得到的记录集就是你需要插入的Recordset.

然后然后把Recordset插入到link。


123liuhh 2005-07-12
  • 打赏
  • 举报
回复
数据库中设置"主键"不就可以了
leehuai 2005-07-12
  • 打赏
  • 举报
回复
真是太感谢大家了 小弟一定会好好学的
yonghengdizhen 2005-07-12
  • 打赏
  • 举报
回复
哦,忘了,自定义function调用的时候加上dbo.作为前缀
yonghengdizhen 2005-07-12
  • 打赏
  • 举报
回复
http://www.microsoft.com/china/community/Column/31.mspx
yonghengdizhen 2005-07-12
  • 打赏
  • 举报
回复
Insert into link(userid,password,h_name,h_pwd)
SELECT userid,password,fn_RandomName(),fn_RandomPwd()
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[sheet1$]
where userid
NOT IN(select userid from link)
下面是两个用于生成随机密码和随机用户名的sql自定义函数,至于如何实现,我想就不用我说了吧.
fn_RandomName(),fn_RandomPwd()
leehuai 2005-07-12
  • 打赏
  • 举报
回复
因为俺是刚来的菜鸟 有许多东西还不会
eduxh 2005-07-12
  • 打赏
  • 举报
回复
sql="select * from link where userid='"& rsRead.Fields("userid") &"'"
rsPanDuan.open sql,oConn,1,1
if rsPanDuan.recordcount<1 then

看到这个了吗?这就是说如果有相同的记录就不执行
oConn.Execute("Insert into link(userid,password,h_name,h_pwd)Values('"& rsRead.Fields("userid")&"','" &rsRead.Fields("password") & "','"& Temp4 &"','"& Temp3 &"')" )

如果没有就执行,这不是你想要的吗?
yonghengdizhen 2005-07-12
  • 打赏
  • 举报
回复
用OpenRowset或OpenDataSource通过一条t-sql语句就可以实现的,真搞不懂为什么要弄得这么麻烦
leehuai 2005-07-12
  • 打赏
  • 举报
回复
to eduxh(翔): 是相同userid不填加 你刚才那段还是不行啊

oConn.Execute("Insert into link(userid,password,h_name,h_pwd)Values('"& rsRead.Fields("userid")&"','" &rsRead.Fields("password") & "','"& Temp4 &"','"& Temp3 &"')" )

我想求一条判断语句 excel导入sql 如果excel的userid和sql的userid相同 责保留sql里的userid不将userid覆盖 如果userid不相同则自动生成用户名和密码
lzlbj 2005-07-12
  • 打赏
  • 举报
回复
houguohenyanzhong...
leehuai 2005-07-12
  • 打赏
  • 举报
回复
鄙视一下自己。。。。
eduxh 2005-07-12
  • 打赏
  • 举报
回复
这是修改后的,加了判断用的查询
eduxh 2005-07-12
  • 打赏
  • 举报
回复
<%
Dim cn,oConn,connstr

Set cn = Server.CreateObject("ADODB.Connection")
cn.Provider = "Microsoft.Jet.OLEDB.4.0 "
cn.ConnectionString = "Data Source=" & Server.MapPath("link.xls") & ";" & _
"Extended Properties=Excel 8.0;"
cn.Open

set rsRead=server.CreateObject("ADODB.Recordset")
set rsPanDuan=server.CreateObject("ADODB.Recordset")
rsRead.Open "select * from [Sheet1$]",cn,1,1
do until rsRead.EOF

tmp = "0123456789ascdefghijklmnopqrstuvwxyz"
Temp4 = RoundStr(tmp,6)
Temp3 = RoundStr(tmp,8)
sql="select * from link where userid='"& rsRead.Fields("userid") &"'"
rsPanDuan.open sql,oConn,1,1
if rsPanDuan.recordcount<1 then
oConn.Execute("Insert into link(userid,password,h_name,h_pwd)Values('"& rsRead.Fields("userid")&"','" &rsRead.Fields("password") & "','"& Temp4 &"','"& Temp3 &"')" )
end if
rsPanDuan.close
rsRead.MoveNext
loop

Function RoundStr(str,Num)
s = ""
for i = 1 to Num
Randomize
strLen = Len(str)
t = Round((RND * (strLen-1))+1)
s = s & mid(str,t,1)
Next
RoundStr = s
End Function
%>
fcsoft01 2005-07-12
  • 打赏
  • 举报
回复
eprint自定义打印是一个页面套打工具.它直接在IE浏览器中可视化的设计各种复杂的打印模版,能够解决在IE浏览器中打印各种复杂的中国式报表及票据。详见: http://218.30.103.110:8080/eprint/index.htm
leehuai 2005-07-12
  • 打赏
  • 举报
回复
重复一下我的问题 呵呵

oConn.Execute("Insert into link(userid,password,h_name,h_pwd)Values('"& rsRead.Fields("userid")&"','" &rsRead.Fields("password") & "','"& Temp4 &"','"& Temp3 &"')" )

我想求一条判断语句 excel导入sql 如果excel的userid和sql的userid相同 责保留sql里的userid不将userid覆盖 如果userid不相同则自动生成用户名和密码

谢谢大家的参与。
leehuai 2005-07-12
  • 打赏
  • 举报
回复
呵呵 大家早晨好 今天继续啊
leehuai 2005-07-12
  • 打赏
  • 举报
回复
再到http://community.csdn.net/Expert/topic/4135/4135736.xml?temp=.1531183这个帖子来几个
呵呵 又要麻烦大家多跑几躺 不好意思啊
加载更多回复(50)

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧