SQL语法:http://www.w3school.com.cn/sql/sql_syntax.asp

Ctrl键拖(也就是复制)

先输入1,2,然后下拉

一、问题的提出
在ASP编程中会遇到很多大大小小的难题,我有一次为一家书店设计网站的时候就遇到了一个这样的难题。起初使用Access做数据库,该数据库主要是为了保存书店内图书的信息,但是当记录的条目过多时数据库的体积将会变得很大。在实际的应用中,网站的空间是有限的,很多要建设网站的客户都没有自己的主机,网站的空间是向网站空间提供商花钱购买而来的,这就要求在网站空间一定的条件下,尽量减小网站内文件的体积。于是我选择了Excel做数据库。
二、方法与说明
将Excel文件(例如book.xls)看成一个数据库,其中的每一个工作表(sheet)看成数据库表。假设Excel中的第一行为字段名,所以你定义的范围中必须要包括第一行的内容。
Excel中的行标题(即字段名)不能够包含数字。Excel的驱动在遇到这种问题时就会出错(例如你的行标题名为“F1”)。如果你的Excel中某一列同时包含了文本和数字的话,那么Excel的ODBC驱动将不能够正常处理这一行的数据,你必须要保证该列的数据类型一致。
使用Excel做数据库在添加数据的时候可以在本地机上使用Microsoft Excel进行编辑。书商们在做图书数据的时候往往都是从各大出版社下载所需的图书信息,这些图书信息都有固定的格式,书商把下载的数据通过复制、粘贴等方法大批量的添加到Excel数据库中。做好数据后将Excel数据库上传到网站。这种方法有以下优点:快速、方便和易操作。
访问数据库信息的第一步是和数据库源建立连接。

-----------------------------------------------------------------转载---------------------------------------------------------------------------------------

C语言连接:

  下载CSpreadSheet.h文件在CodeProject

 使用介绍:http://www.oschina.net/question/76782_12420

基本用例:http://zhidao.baidu.com/link?url=g5Pg1IxCHOzL8Uuwcnq2LhfvEpBKQ4ySudk-JefNkNJB340S_b_5NGOIe-X168K0Yf1pIoA0LTyntihPb5xO8K

 

java连接(动态构造连接字符串):

       String url="jdbc:odbc:Driver=Microsoft Excel Driver (*.xls);DBQ=C:/Users/dajun/Desktop/EXcel/book.xls";
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//通过sun.jdbc.odbc.JdbcOdbcDriver来获取数据
            Connection conn = DriverManager.getConnection(url);
            Statement sta = conn.createStatement();
            ResultSet rs = sta.executeQuery("Select * from [Sheet" + 1 + "$]");
            ResultSetMetaData rsmeta = rs.getMetaData();
            int numberOfColumns = rsmeta.getColumnCount();
            while (rs.next())
            {
             for(int i = 1; i <= numberOfColumns; i++)
             {
                 System.out.print(rs.getString(i));
             }
            }
            rs.close();
            sta.close();
            conn.close();
            }

插入操作:

遇到的问题

java.sql.SQLException: [Microsoft][ODBC Excel 驱动程序] 操作必须使用一个可更新的查询。
at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
修改后:
package odbcj;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;

public class ads {
    public static void main(String[] argv) {
        try {
            String url = "jdbc:odbc:Driver=Microsoft Excel Driver (*.xls);DBQ=C:/Users/dajun/Desktop/EXcel/book.xls;ReadOnly=0";
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            Connection conn = DriverManager.getConnection(url);
            Statement sta = conn.createStatement();
            
            //ResultSet rs = sta.executeQuery("Select * from [Sheet" + 1 + "$]");
            //ResultSetMetaData rsmeta = rs.getMetaData();
            
            //int numberOfColumns = rsmeta.getColumnCount();

            /*while (rs.next()) {
                for (int i = 1; i <= numberOfColumns; i++) {
                    System.out.print(rs.getString(i). + " ");
                }
                System.out.print("\n");
            }*/
            int num = 550000;
            Statement sta1;
            String st;

                //System.out.println(st);
                
                //String sql="insert into [Sheet1$](name1,name2)values('test1','test2')";
            //sta.execute(sql);
            for(int i=0;i<10; i++)
            sta.execute("insert into  [Sheet1$](序号) values("+(num++)+")");
                        
            //System.out.println(num);
            //rs.close();
            sta.close();
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
View Code

相关文章:

  • 2021-11-21
  • 2021-06-22
  • 2022-12-23
  • 2021-11-18
  • 2021-11-27
  • 2022-01-23
  • 2021-11-18
  • 2022-12-23
猜你喜欢
  • 2021-06-01
  • 2022-01-26
  • 2022-12-23
  • 2021-11-05
  • 2021-11-14
  • 2021-06-14
  • 2022-12-23
相关资源
相似解决方案