js查询数据库,js怎么对数据库进行增删改查
大家好,关于js查询数据库很多朋友都还不太明白,今天小编就来为大家分享关于js怎么对数据库进行增删改查的知识,希望对各位有所帮助!
js怎么对数据库进行增删改查
JavaScript操作数据库JS操作Access数据库,跟其他语言操作差不多,总结了一下习惯代码,需要的朋友可以参考下
JavaScript操作数据库JS操作Access数据库,跟其他语言操作差不多,总结了一下习惯代码,仅供参考学习。
现在在F盘有文件abc.mdf,表名为Student,一共2个字段,Id数字类型主键,stuName文本类型,现对该表进行增删改查的操作:
1.查询
代码如下:
<HTML>
<HEAD>
<TITLE>数据查询</TITLE>
<Script>
var conn= new ActiveXObject("ADODB.Connection");
conn.Open("DBQ=f://abc.mdb;DRIVER={Microsoft Access Driver(*.mdb)};");
var rs= new ActiveXObject("ADODB.Recordset");
var sql="select* from Student";
rs.open(sql, conn);
var html="";
while(!rs.EOF)
{
html=html+rs.Fields("Id")+""+rs.Fields("stuName");
rs.moveNext();
}
document.write(html);
rs.close();
rs= null;
conn.close();
conn= null;
</script>
</HEAD>
<BODY>
</BODY>
</HTML>2.增加操作
代码如下:
<HTML>
<HEAD>
<TITLE>增加操作</TITLE>
<script language="javascript">
function addUser(id,stuName)
{
//用 JavaScript写服务器端连接数据库的代码示例
var conn= new ActiveXObject("ADODB.Connection");
conn.Open("DBQ=F://abc.mdb;DRIVER={Microsoft Access Driver(*.mdb)};");
var sql="insert into Student(ID,stuName) values("+id+",'"+stuName+"')";
try{
conn.execute(sql);
alert("添加成功");
}
catch(e){
document.write(e.description);
alert("添加失败~~~");
}
conn.close();
}
</script>
</HEAD>
<BODY>
<table width=100 border=1>
<tr bgcolor='#f4f4f4'>
<td>编号</td>
<td>姓名</td>
</tr>
<tr>
<td><input id="stuId"/></td>
<td><input id="stuName"/></td>
</tr>
</table>
<input name="1" type="button" value="添加" onclick="addUser(stuId.value,stuName.value)"/>
</BODY>
</HTML>3.删除操作
代码如下:
<HTML>
<HEAD>
<TITLE>删除操作</TITLE>
<script language="javascript">
function delStu(id)
{
var conn= new ActiveXObject("ADODB.Connection");
conn.Open("DBQ=F://abc.mdb;DRIVER={Microsoft Access Driver(*.mdb)};");
var sql="delete from Student where Id=2";
conn.execute(sql);
conn.close();
conn= null;
alert("修改成功");
}
</script>
</HEAD>
<BODY>
<input name="1" type="button" value="删除" onclick="delStu(1)"/>
</BODY>
</HTML>
4.修改操作
代码如下:
<HTML>
<HEAD>
<TITLE>修改操作</TITLE>
</HEAD>
<script>
function updateUser(userId,userName)
{
var conn= new ActiveXObject("ADODB.Connection");
conn.Open("DBQ=F://abc.mdb;DRIVER={Microsoft Access Driver(*.mdb)};");
var rs= new ActiveXObject("ADODB.Recordset");
var sql="update Student set stuName='"+ userName+"' where Id="+ userId+"";
conn.execute(sql);
conn.close();
conn= null;
alert("修改成功");
}
</script>
<BODY>
<table width=100 border=1>
<tr bgcolor='#f4f4f4'>
<td>编号</td>
<td>姓名</td>
</tr>
<tr>
<td><input id="stuId"/></td>
<td><input id="stuName"/></td>
</tr>
</table>
<input name="1" type="button" value="修改" onclick="updateUser(stuId.value,stuName.value)"/>
</BODY>
</HTML>另外,JS也可以操作SQL Server数据库
数据库名为:MySchool,表名为Student,StudentId为int类型,自增列,studentName为学生姓名,为varchar类型。数据库用户名为sa,密码是ok,
代码如下:
<HTML>
<HEAD>
<TITLE>SQL数据查询</TITLE>
<Script>
var conn= new ActiveXObject("ADODB.Connection");
conn.Open("Driver={SQL server};Server=.;DataBase=MySchool;UID=sa;Password=ok;");//打开数据库
var rs= new ActiveXObject("ADODB.Recordset");
var sql="select* from Student";
rs.open(sql, conn);
var html="";
while(!rs.EOF)
{
html=html+rs.Fields("StudentId")+""+rs.Fields("studentName")+"<br/>";
rs.moveNext();
}
document.write(html);
rs.close();
rs= null;
conn.close();
conn= null;
</script>
</HEAD>
<BODY>
</BODY>
</HTML>
js 将数据库查询出来的数据导入到excel中
--------------------------------------------------------
我建议你还是通过后台来处理,用JS的话,客户端压力太大,容易导致内存溢出,浏览器崩溃。
我用Java语言,通过jxl以及poi两种API给你写了例子,分别是用jxl读写excel文件,用poi读写excel文件。希望对你有帮助。(需要下载jxl和poi的jar包)
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.format.Colour;
import jxl.format.UnderlineStyle;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
public class ExcelUtil{
/**
*@param args
*@throws IOException
*/
public static void main(String[] args) throws IOException{
String outFile="D:/workspace/JavaStudy/src/util/excel/test.xls";
ExcelUtil.writeExcelByJXL(outFile, null);
}
/**
*
*@title: readExcelByJXL
*@description:通过jxl读取excel文件
*@author yu ren tian
*@email yurentian@163.com
*@param excelFile
*@return
*@throws IOException
*/
private static List readExcelByJXL(String excelFile) throws IOException{
List rtn= new ArrayList();
FileInputStream fileInputStream= null;
try{
fileInputStream= new FileInputStream(excelFile);
Workbook excelWorkBook= Workbook.getWorkbook(fileInputStream);
Sheet sheet= excelWorkBook.getSheet(0);
int m= sheet.getRows();
int n= sheet.getColumns();
for(int i= 1; i< m; i++){
Map map= new HashMap();
for(int j= 0; j< n; j++){
Cell cell= sheet.getCell(j, i);
String cellContent= cell.getContents();
switch(j){
case 0:
map.put("studentName", cellContent);
break;
case 1:
map.put("Chinese", cellContent);
break;
case 2:
map.put("Math", cellContent);
break;
case 3:
map.put("English", cellContent);
break;
case 4:
map.put("assess", cellContent);
break;
}
}
rtn.add(map);
}
} catch(Exception e){
e.printStackTrace();
} finally{
if(null!= fileInputStream){
fileInputStream.close();
}
return rtn;
}
}
/**
*
*@title: writeExcelByJXL
*@description:通过jxl写入excel文件
*@author yu ren tian
*@email yurentian@163.com
*@param outFile
*@param list
*@throws IOException
*/
private static void writeExcelByJXL(String outFile, List list)
throws IOException{
WritableWorkbook wwb;
FileOutputStream fos;
try{
fos= new FileOutputStream(outFile);
// wwb= Workbook.createWorkbook(file);
wwb= Workbook.createWorkbook(fos);
WritableSheet sheet= wwb.createSheet("test", 0);
//设置单元格的文字格式
WritableFont wf= new WritableFont(WritableFont.ARIAL, 12,
WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE,
Colour.BLUE);
WritableCellFormat wcf= new WritableCellFormat(wf);
//wcf.setBackground(Colour.GREEN);
wcf.setBackground(new CustomColor(11,"", 0, 0, 0));
for(int i= 0; i< 10; i++){
Label label= new Label(i, 0, i+"", wcf);
sheet.addCell(label);
}
wwb.write();
wwb.close();
fos.close();
} catch(Exception e){
e.printStackTrace();
}
}
/**
*
*@title: readExcelByPOI
*@description:通过poi读取excel文件
*@author yu ren tian
*@email yurentian@163.com
*@param excelFile
*@return
*@throws IOException
*/
private static List readExcelByPOI(String excelFile) throws IOException{
List rtn= new ArrayList();
FileInputStream fin= null;
try{
fin= new FileInputStream(excelFile);
POIFSFileSystem fs= new POIFSFileSystem(fin);
HSSFWorkbook wb= new HSSFWorkbook(fs);
HSSFSheet sheet= wb.getSheetAt(0);
int m= sheet.getLastRowNum()- sheet.getFirstRowNum()+ 1;
int n= 5;
for(int i= 1; i< m; i++){
Map map= new HashMap();
for(int j= 0; j< n; j++){
HSSFCell cell= sheet.getRow(i).getCell((short) j);
int type= cell.getCellType();
String cellContentString= null;
double cellContentDouble= 0;
if(type== 1){
cellContentString= cell.getRichStringCellValue()
.getString();
System.out.println("cellContentString="
+ cellContentString);
} else if(type== 0){
cellContentDouble= cell.getNumericCellValue();
System.out.println("cellContentDouble="
+ cellContentDouble);
}
System.out.println("j="+ j);
switch(j){
case 0:
map.put("studentName", cellContentString);
break;
case 1:
map.put("Chinese", new Double(cellContentDouble));
break;
case 2:
map.put("Math", new Double(cellContentDouble));
break;
case 3:
map.put("English", new Double(cellContentDouble));
break;
case 4:
map.put("assess", cellContentString);
break;
}
}
}
} catch(Exception e){
e.printStackTrace();
} finally{
if(fin!= null){
fin.close();
}
return rtn;
}
}
/**
*
*@title: writeExcelByPOI
*@description:通过poi写入excel
*@author yu ren tian
*@email yurentian@163.com
*@param outFile
*@param list
*@throws IOException
*/
private static void writeExcelByPOI(String outFile, List list)
throws IOException{
FileOutputStream fos= new FileOutputStream(outFile);
HSSFWorkbook wb= new HSSFWorkbook();
for(int sheetCount= 0; sheetCount< 5; sheetCount++){
HSSFSheet sheet= wb.createSheet("组织"+(sheetCount+ 1));
for(int rowCount= 0; rowCount< 10; rowCount++){
for(int columnCount= 0; columnCount< 10; columnCount++){
HSSFRow row= sheet.createRow(rowCount);
HSSFCell cell= row.createCell(new Short(columnCount+""));
HSSFRichTextString richTextString= new HSSFRichTextString(
"行="+ rowCount+"列="+ columnCount);
cell.setCellValue(richTextString);
}
}
}
wb.write(fos);
}
}
--------------------------------------------------------
js怎样连接和调用mysql数据库
我知道 ie怎么连接,别的浏览器不行。首先先去mysql官网下载个 odbc然后安装,安装完再去控制面板找到“管理工具”--》“(ODBC)数据源”--》(如果是在自己电脑上测试就选
“用户DSN”,如果想被别人访问就选“系统DSN”)然后添加mysqlodbc,然后把驱动的名字记下来(不是你起的名字,是后面自带的名字!),准备工作做完,我们就可以通过代码访问数据库了。(注:我第一次安装ODBC,用js调用时提示我未知数据源一类的话,卸载ODBC后再次安装ODBC就正常了)用 ie先调用odbc驱动然后操作mysql,话不多说,上代码!
//创建数据库连接对象
var conn= new ActiveXObject("ADODB.Connection");
//创建数据集对象
var rs= new ActiveXObject("ADODB.Recordset");
try{
//MySQL ODBC 5.3 ANSI Driver这个就是我刚才说让你记得驱动的名字
var connectionstring="Driver={MySQL ODBC 5.3 ANSI Driver};Server=127.0.0.1;User=root;Password=root;Database=mysql;Option=3;Port=3306";
console.log(connectionstring);
//打开连接
conn.open(connectionstring);
//查询语句
var sql=" select* from table1";
//打开数据集(即执行查询语句)
rs.open(sql,conn);
//(或者rs=conn.execute(sql);)
//遍历所有记录
while(!rs.eof){
//WScript是Windows的脚本宿主对象,详细情况请在windows帮助里查找。
//WScript.Echo输出记录的内容
document.write(rs.Fields("id")+"\t"+ rs.Fields("name")+"\n");
//下一条记录
rs.moveNext();
}
//关闭记录集
rs.close();
//关闭数据库连接
conn.close();
} catch(e){
//异常报告
document.write(e.message);
} finally{
//
}
好了,关于js查询数据库和js怎么对数据库进行增删改查的问题到这里结束啦,希望可以解决您的问题哈!