Javascript能连接数据库吗?第一听说
ajax
ajax
解决方案 »
- 用ajax获取的数据怎么能出现在"右键"-"查看源代码"里?
- JavaScript帧窗口问题。没分了 谢谢了。
- 刚看到一个帖子:问求js脚本关闭当前浏览器,不提示询问关闭窗口(IE6.0)。我想问ie7 8 firefox 等关闭浏览器不提示关闭窗口的代码是什么
- 高分求救:谁能帮忙精简一下这个js代码?全分相赠。急。
- 请问EMBED,和OBJECT的区别?NOJAVA=true是什么意思?
- 终于升级到中级用户了,散分啦!!!
- 请问怎么在表单中引用Javascript的变量?
- 如何使通過點擊鏈接後(<a herf="adress"></a>)而打開的新IE窗口是最大化的?
- 谈谈 Mozilla 的 XUL , 谁有兴趣?
- 怎么才能再输入一个text框得时候使另外一个text框也能同步显示这个值呢
- 怎样使一个div永远定位在浏览器的底部?页面滚动时这个div不动?
- 浏览器的兼容性问题疑惑,100分大家进来看看
<script language="javascript">
//用 javascript 寫服務器端連接數据庫的代碼示例
var conn = new ActiveXObject("ADODB.Connection");
conn.Open("Provider=SQLOLEDB.1; Data Source=localhost; User ID=sa; "
+"Password=; Initial Catalog=pubs");
var rs = new ActiveXObject("ADODB.Recordset");
var sql="select * from authors";
rs.open(sql, conn);
shtml = " <table width='100%' border=1>";
shtml +=" <tr bgcolor='#f4f4f4'> <td>au_id </td> <td>au_lname </td> <td>au_fname </td> <td>phone </td> <td>address </td> <td> city </td> <td>state </td> <td>zip </td> </tr>";
while(!rs.EOF)
{
shtml += " <tr> <td>" + rs("au_id") + " </td> <td>" + rs("au_lname") + " </td> <td>" + rs("au_fname") + " </td> <td>" + rs("phone") + " </td> <td>" + rs("address") + " </td> <td>" + rs("city") + " </td> <td>" + rs("state") + " </td> <td>" + rs("zip") + " </td> </tr>";
rs.moveNext;
}
shtml += " </table>";
document.write(shtml);
rs.close();
rs = null;
conn.close();
conn = null;
</script>
<script language=javascript>
// ^_^
//
//(c) in 2002-2003 by Alex(Chinese:蒋健华)
//http://www.finder.net.cn
//C Email: [email protected]
//F Email: [email protected]
</script>
<script language=javascript>
function replace(v)
{
//容错问题,请读者自行进行判断。
//定义SQL语句
var sql = "select * from Dictionary where MainID='" + v + "'" ;
//新建数据库连接对象和数据集存取对象
var ConnDB = new ActiveXObject("adodb.connection");
var rs = new ActiveXObject("ADODB.Recordset");
//这里填入要连接的DSN
ConnDB.ConnectionString="DSN=***;uid=***;pwd=***";
ConnDB.open
rs.open(sql,ConnDB,1,1);
if (rs.RecordCount>0){
if (v==parseInt(rs("MainID"))){
//字符串连接
document.all('txt').value = v + rs("MainValue");
var sql=null;
rs.close
ConnDB.close
return;
} else {
var sql=null;
alert("没有此代号!");
txt.select();
txt.focus();
rs.close
ConnDB.close
}
}
</script>
<input type=text id=txt name=txt onblur="replace(this.value)">
有什么更好的办法,希高人指点!
webservice这种基于固定接口的应用,而把把它归类到js应用。
4楼的,那个代码有问题的,在JS中的ADO的方法是必须要加()的,
ConnDB.open => ConnDB.open();
rs.close => rs.close();还有 if (v==parseInt(rs("MainID"))){ 这里的 rs("MainID")会报错的,应该改成 rs.fields('MainID').value
vb、vc、delphy这些语言独立自主的将消息通过window系统转给axtiveX,能获得服务。
vb←→windows←→activeX
js多了一层
js←→IE←→windows←→activeX √
js←→FireFox←→windows←→activeX ×所以js能否成功连接数据库,只取决于你的浏览器是否愿意充当这个中介人,只要愿意就没问题。
所以只要是用activex所有的程序只是语法写法有些不同,其他都一样,你完全可以将vb调试好
的程序改到js中
js做的,是activeX按照js的请求做的。这并不矛盾