当前位置:首页 » 操作系统 » asp使用js连接数据库数据库

asp使用js连接数据库数据库

发布时间: 2022-09-06 16:58:34

① 跪求:ASP.NET中如何应用jstree,并与sql server数据库进行连接

我正在用sql,也是2005。我比较倾向于你用express版本。其他版本的功能你基本用不到,倒是庞大许多。
express版本只有几百m,开发版却要2g多,几乎十倍。你可以设想,一个十倍体积的软件和一倍的软件哪个轻便、启动快。express就是专门针对初学者而用的。

② 在asp.net中JS怎样操作数据库

最好别使用js操作数据库,js在源代码里面可以看到,别人不就知道你的数据库信息了?还可以通过注入操作你的数据库 如果最实在想用,参考例子 文件构成:
Access数据库名为 MyData.Mdb, 里面建了一个名为count的表,表由两个字段组成: ID和COUNT,表里有一条数据: ('count','100')。 文本文件名为 count.txt,里面随便写入一个数字。 静态页面名为Cnt.htm。
以上3个文件都放在同一目录下。

由于采用Access数据库,而它采用非标准SQL语法,所以要注意在表名和字段名上需要加方括号: []

下面是页面里的代码:

其中getCountFromDB方法是对Access数据库进行操作,getCountFromTxt方法是对txt纯文本进行操作,这两个方法都在本地执行通过。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<SCRIPT LANGUAGE="javaScript">
<!--
function getCountFromDB() {
//以当前页面文件为基础,找到文件所在的绝对路径。
var filePath = location.href.substring(0, location.href.indexOf("Cnt.htm"));
var path = filePath + "MyData.mdb";
//去掉字符串中最前面的"files://"这8个字符。
path = path.substring(8);
var updateCnt = 0;

//生成查询和更新用的sql语句。
var sqlSelCnt = "SELECT COUNT FROM [COUNT] WHERE ID = 'count'";
var sqlUpdCnt = "UPDATE [COUNT] SET [COUNT] = '";

//建立连接,并生成相关字符串 www.knowsky.com。
var con = new ActiveXObject("ADODB.Connection");
con.Provider = "Microsoft.Jet.OLEDB.4.0";
con.ConnectionString = "Data Source=" + path;

con.open;
var rs = new ActiveXObject("ADODB.Recordset");
rs.open(sqlSelCnt, con);
while (!rs.eof) {
var cnt = rs.Fields("COUNT");
document.write(cnt);
//将取得结果加1后更新数据库。
updateCnt = cnt * 1 + 1;
rs.moveNext;
}
rs.close();
rs = null;

sqlUpdCnt = sqlUpdCnt + updateCnt + "'";
con.execute(sqlUpdCnt);

con.close();
con = null;
}

function getCountFromTxt() {
var filePath = location.href.substring(0, location.href.indexOf("Cnt.htm"));
var path = filePath + "count.txt";
path = path.substring(8);
var nextCnt = 0;

var fso, f1, ts, s;
//以只读方式打开文本文件。
var ForReading = 1;
//以读写方式打开文本文件。
var ForWriting = 2;

fso = new ActiveXObject("Scripting.FileSystemObject");
f1 = fso.GetFile(path);
ts = f1.OpenAsTextStream(ForReading, true);
s = ts.ReadLine();
nextCnt = eval(s) + 1;
document.write("now count is :" + s);
ts.Close();

ts = f1.OpenAsTextStream(ForWriting, true);
ts.WriteLine(nextCnt);
ts.close();
}
//-->
</SCRIPT>
</HEAD>

<BODY>
<SCRIPT LANGUAGE="JavaScript">
<!--
getCountFromTxt();
//-->
</SCRIPT>
</BODY>
</HTML>

后记:虽然在只支持静态页面的免费空间不可用,但是我想一些支持Asp的免费空间应该能用,当然我没有具体试过,只是凭自己想象。并且用这种方法来读写数据库,只适合做计数器和留言版这样的不需要保密性的工作,毕竟代码全是用javascript写成的,谁都可以看到,然后就可以得到路径把db文件下载下来进行分析,所以没办法用它来保存一些不想让别人知道的东西。就像我一个同事说的,用javascript连接数据库进行操作,简直就是霸王硬上弓,呵呵,的确如此,既然不能用在免费空间上作自己的计数器,那这段代码就只能用来玩玩,自己找找良好感觉了。收集:

简单的数据库操作:<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
<script language=javascript>
function connectDb()
{
var ConnDB = new ActiveXObject("ADODB.Connection");
ConnDB.ConnectionString="dsn=shbxdatabase;uid=ldbx;pwd=123456;";
ConnDB.Open();
var Rs = new ActiveXObject("ADODB.Recordset");
var tempstr="";
Rs.Open("select * from WDA1",ConnDB,1,3);
while(!Rs.EOF)
{
tempstr = tempstr + Rs("TNAME") + "<br/>";
Rs.MoveNext;
}
test.innerHTML=tempstr;
}
</script>
</HEAD>
<BODY onbeforeunload="return 'ok?'"><P><div id=test> </div>
<P><INPUT id=button1 type=button value=显示 name=button1 onclick="connectDb()"></BODY>
</HTML>
>>>>>>-------------------------------------var db="D:\\js\\9t\\db1.mdb";
function opendb(dbname,sql)
{
var opendb =new ActiveXObject("ADODB.Recordset")
opendb.ActiveConnection = "DBQ="+dbname+";DRIVER={Microsoft Access Driver (*.mdb)};"
opendb.Source = sql
opendb.CursorType = 1
opendb.CursorLocation = 2
opendb.LockType = 3
opendb.Open()
return opendb
}
var rs=new Object();
rs=opendb(db,"select * from 产品 where id="+i);
document.all.xx1.innerHTML=rs("生产厂商").value;
document.all.xx2.innerHTML=rs("产品名称")+"/"+rs("型号");
document.all.xx3.innerHTML=rs("售价");
document.all.xx4.innerHTML=rs("批发");
document.all.xx5.innerHTML=rs("备注");
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<---------------------------------------
连接ACCESS只能用数据源,操作数据库的方法跟ASP之类是一样的。
只不过执行的语句不一样罢了。
如:
String dbUrl = "sun.jdbc.odbc.JdbcOdbcDriver";
String dbConStr = "jdbc:odbc:dnsName";
Connection Conn = null;
Statement stmt = null;
try{
Class.forName(dbUrl);
}catch(ClassNotFoundException e){
System.err.println("Not Found ClassForName" + e.getMessage());
}
try{
Conn = DriverManager.getConnection(dbConStr, "uid", "pwd"); //连接数据库,uid与pwd分别为 用户名及密码(连接数据库的),如果没有既为空
stmt = Conn.createStatement();
}catch(Exception e){
System.err.println("Can't Connect the DATA" + e.getMessage());
}
//以下为操作数据库的
String sql = "select * from tableName[....]";
ResultSet Rs = stmt.executeQuery(sql); // 返回记录集
String sqlUpdate = "update...";
String sqlInsert = "insert into....";
stmt.executeUpdate(sqlUpdate); //更新记录
stmt.executeUpdate(sqlInsert); //插入记录
Conn.close();
stmt.close();

③ asp结合javascript调取数据库

下面代码使用servlet框架:

jsp页面:

<formaction="DoRegisterServlet"method="post"id="form1">

<tableclass="tab1">

<tr>

<td>

用户注册:

</td>

<tdcolspan="2">

<divid="info"style="color:red;"></div>

</td>

</tr>

<tr>

<td>

工号:

</td>

<td>

<inputtype="text"name="userid"value=""id="gh"onBlur="checkuid(this.value)"/>

</td>

<td>

<divclass="fc"id="uid">

*请输入8位纯数字工号

</div>

</td>

</tr>
</table>
</form>
javascript:
function$(id){
returndocument.getElementById(id);
}
/*
*TODO:ajax验证工号是否存在
*@param{Object}val
*/
functionajaxuid(val){
varxmlhttp;
if(window.XMLHttpRequest){
xmlhttp=newXMLHttpRequest();
}elseif(window.ActiveXobject){
try{
xmlhttp=newActiveXobject("Microsoft.XMLHTTP");
}catch(e){
xmlhttp=newActiveXobject("Msxml2.XMLHTTP");
}
}
xmlhttp.onreadystatechange=function(){
if(4==xmlhttp.readyState&&200==xmlhttp.status){
varinfo=xmlhttp.responseText;
$("info").innerHTML=info;

if(info=="可使用"){

$("uid").innerHTML="√有效";
$("uid").style.color="green";
flag1=true;

}else{

$("gh").focus();
flag1=false;
returnfalse;
}
}else{
$("info").innerHTML="后台验证中请稍等.....";
}
}
xmlhttp.open("get","AjaxUidServlet?uid1="+val+"&t="+Math.random(),
true);
xmlhttp.setRequestHeader('Content-type',
'application/x-www-form-urlencoded');
xmlhttp.send();
}
/*
*TODO:工号非空、格式认证
*@param{Object}val
*/
functioncheckuid(val){
if(val==""){
$("uid").innerHTML="工号不可为空!";
$("gh").focus();
}else{
varreg=newRegExp("^[0-9]{8}$","g");
if(reg.test(val)){

ajaxuid(val);
}else{

$("uid").innerHTML="工号格式不正确!";
$("info").innerHTML="";
$("gh").focus();
}
}
}
java代码:
importjava.io.IOException;
importjava.io.PrintWriter;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importmain..user.UserDao;
/**
*@ClassName:AjaxUidServlet
*@Description:ajax验证用户注册工号是否重复
*@author:zhangbin13075600
*@date:2013-8-15
*/
{
/**
*
*/
=1004L;
/**
*Constructoroftheobject.
*/
publicAjaxUidServlet(){
super();
}
/**
*Destructionoftheservlet.<br>
*/
publicvoiddestroy(){
super.destroy();//Justputs"destroy"stringinlog
//Putyourcodehere
}
/**
*@
*@
*@
*@
*/
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
response.setContentType("text/plain;charset=UTF-8");
Stringval=request.getParameter("uid1");
UserDaoud=newUserDao();
PrintWriterout=response.getWriter();
booleanb=ud.findByUid(val);
if(b==true){
out.write("工号已存在");

}else{

out.write("可使用");

}

out.flush();
}
/**
*@
*@
*@
*@
*/
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
doGet(request,response);
}
/**
*Initializationoftheservlet.<br>
*
*@
*/
publicvoidinit()throwsServletException{
//Putyourcodehere
}
}

④ asp 用JS连接ACCESS数据库

var db_bbs
db_bbs="dd.mdb"//定义数据库
var conn = new ActiveXObject("ADODB.Connection");
conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+db_bbs+"");

试试这样看行不行!

⑤ js怎么连接mysql数据库连接

具体连接方法如下:

1、打开HBuilder工具,在Web项目中的js文件夹中,新建JavaScript文件ConnDB.js

使用require()引入mysql模块,然后赋值给变量mysql

⑥ javascript连接数据库的问题

可能是路径出错了,你的网页和数据库是在同一个目录下么?

网页似乎在桌面上!

还有就是权限的问题!

⑦ 用JavaScript连接数据库本地可以执行连接并查询,发布到IIS上就无法连接了

数据库在服务器的话,就需要用后台语言(php、jsp或asp等)去读取然后再返回给前端。而JavaScript是前端语言,它只会在本地电脑执行,如果用它去直接读取服务器上的数据库也是可以的,但必须满足几个条件:浏览器的安全等级要调低(否则浏览器是不允许此类脚本运行的);数据库要设置成允许外部连接;JavaScript的连接字串中,SERVER=(local) 中的(local)要改为数据库所在服务器的IP地址。做到这些也还不一定能成,要根据实际情况处理。总之,撇开严重的安全隐患不说,我们也是不建议用网页脚本去直接连接数据库的

⑧ 急!!! 我如何在ASP里面接收从JS传过来的数据,然后再写进数据库里面,下面是一个关于留言的JS

你输入的字符有中文是吗?
那么先JS部分这样写:

$.post("savely.asp",
{
operateType: "15",
name: escape(_name),
tel: _tel,
email: _email,
fax: _fax,
address: escape(_address),
company: escape(_company),
msg: _msg
},

这里是关键。然后在savely.asp页面中写:
先加一个ASP函数
'与javascript中的unescape()等效
Function UnEscape(ByVal str)
Dim x, s
x = InStr(str,"%")
s = ""
Do While x>0
s = s & Mid(str,1,x-1)
If LCase(Mid(str,x+1,1))="u" Then
s = s & ChrW(CLng("&H"&Mid(str,x+2,4)))
str = Mid(str,x+6)
Else
s = s & Chr(CLng("&H"&Mid(str,x+1,2)))
str = Mid(str,x+3)
End If
x=InStr(str,"%")
Loop
UnEscape = s & str
End Function
然后下面是调用方法:
Dim GetoperateType:GetoperateType = Request.Form("operateType")
Dim Getname:Getname = UnEscape(Request.Form("name"))
其他字段也是这样的写法。就能得到数据了。 并且支持中文了。

⑨ 在asp中使用js循环语句提取数据库中记录

楼上说的不对,asp使用js做服务器端语言的时候可以连接数据库。只是这没有什么意义。

asp默认使用VBscript,连接数据库后直接循环输出即可

dimrs,sql,str
SetRS=Server.CreateObject("ADODB.RECORDSET")
sql="selecttop20*fromK1where1=1"
'rs.opensql,conn,1,1
'ifrs.bofandrs.eofthen
'str="thereisnothing!"
'else
'str=""
'dowhilenotrs.eof
'str=str&"<divclass='id'>"&rs("id")&"</div><divclass='t'>"&rs("title")&"</div><divclass='b'>"&rs("content")&"</div>"
'rs.movenext
'loop
'endif
'rs.close:setrs=nothing
'response.writestr
热点内容
python和php哪个好 发布:2024-05-10 13:32:41 浏览:729
android长按关机 发布:2024-05-10 13:21:54 浏览:13
城堡模组小本的模组密码是什么 发布:2024-05-10 13:21:13 浏览:305
旧机照片传新手机怎么弄安卓苹果 发布:2024-05-10 13:16:15 浏览:227
设置密码英文是什么 发布:2024-05-10 13:15:19 浏览:648
魅族安卓60怎么下载光遇 发布:2024-05-10 13:10:52 浏览:841
硬盘存储系统 发布:2024-05-10 12:39:51 浏览:244
数据库审计系统报价 发布:2024-05-10 12:39:50 浏览:279
乘法多种算法 发布:2024-05-10 12:26:44 浏览:782
ps2021怎么存储为web格式 发布:2024-05-10 12:26:41 浏览:665