zoukankan      html  css  js  c++  java
  • 第一次随笔,记录课设遇到的问题

    目前是一个大二的小渣渣,课设选的是在线考试系统,在这次课设之中遇到了极其多的问题,大部分都是因为自己的基础不够扎实导致的,所以学好一门语言的基础非常的重要呐,话不多说,一一把问题记录一下

    1.这是基础差的第一个表现,足足浪费了我一天时间,找遍了各种博客,我要执行的是一个sql语句,把一个数组循环插入

    第一我遇到的问题都是sql语句insert into 表明(列明)values (要插入的内容)  数组的要怎么插入遇到了问题,不像一般数组直接输入,数组的插入有一定的格式,正确的格式是‘“+keep[i][j]+”’  就是 ' “ +数组 + “'

    然后我又遇到了一些问题,空指针的问题,我又反复的检查了一天,最后一点点排查,发现又是语句这里出现问题了,博客翻了几十篇,最后给出的结论是,尝试在数组后加一个.trim(),把多余的空格等都去掉。最后

    成功插入   preparedStatement = conn.prepareStatement("insert into TestSet(course,sinc,persin,mulc,permul,judge,perjd,program,perpro,totaltime)values('java',"+Integer.parseInt(value[i][0].trim())+","+Integer.parseInt(value[i][1].trim())+","+Integer.parseInt(value[i][2].trim())+","+Integer.parseInt(value[i][3].trim())+","+Integer.parseInt(value[i][4].trim())+","+Integer.parseInt(value[i][5].trim())+","+Integer.parseInt(value[i][6].trim())+","+Integer.parseInt(value[i][7].trim())+",120)");  最后这串代码是这样。

    2.再记录一下我遇到的至今仍未解决的问题,这个问题大概是,我在一个类设置了get和set数组,然后在get数组的时候,返回了一个空指针。后面查了很多博客,大概得出的结论是,数组在传递的过程传递的是地址,传递过去会变成空地址吧,这个是目前仍然没有解决的问题

    3.现在记录一些比较基础的知识,例如如何连接jdbc等等

    连接jdbc,执行sql语句,你要导入相应的jar包,等等我会再详细的说明,假设现在已经导入了jar包了,那现在还需要什么?

    需要一个连接来连接数据库,Connection conn;   需要你数据库的地址路径,要不然哪里知道你到底要连到哪里去 String url:"jdbc:sqlsever://localhost:1433;DatabaseName=Student_test;"

    声明你要执行的sql语句 Statement stmt     一个放数据库查询结果的结果集ResultSet rs         

    这一切都可以之后,可以运行驱动conn=DriverManager.getConnection(url,"sa","123"); 后面两个是你数据库的名字和密码不要弄错。这样就可以连接jdbc,后面执行sql语句我会附上代码

     public class getDataFromDatabase {

    PreparedStatement preparedStatement = null;
    Connection conn;//连接
    Statement stmt;//用于执行不带参数的简单sql语句
    ResultSet rs;//表示一个数据库查询的结果集
    String url="jdbc:sqlserver://localhost:1433;DatabaseName=ExamOnline;";//连接数据库
    public getDataFromDatabase(){}
    public String getDatabySql(String sql,String item) {

    try {
    conn=DriverManager.getConnection(url,"sa","123");//登录
    stmt =conn.createStatement();//差不多类似于在数据库中输入相关sql语句
    rs=stmt.executeQuery(sql);//用来执行select语句,几乎是使用最多的sql语句
    if(rs!=null) {
    System.out.println(rs.toString());
    return rs.toString();
    }
    while(rs.next()) {
    return (rs.getString(item).trim());
    }
    if(rs!=null) {
    rs.close();
    rs=null;
    }
    if(stmt!=null) {
    stmt.close();
    stmt=null;
    }
    if(conn!=null) {
    conn.close();
    conn=null;

    return "";
    }
    catch(SQLException e) {
    e.printStackTrace();
    System.out.println("数据库连接失败");
    }
    return "";


    }
    public String getlinefromdatabase() {
    try {
    conn=DriverManager.getConnection(url,"sa","123");//登录
    stmt =conn.createStatement();//差不多类似于在数据库中输入相关sql语句
    preparedStatement = conn.prepareStatement("select sinc from TestSet ");
    preparedStatement.executeUpdate();
           }catch(SQLException e) {
            e.printStackTrace();
            System.out.println("连接失败");
           }
    return preparedStatement.toString();
    }

    执行:

     void isLogin() {
    // TODO Auto-generated method stub
    String pswdDatabase=String.valueOf(database.getDatabySql("select PSWD from S where SNAME='李明'","PSWD"));//从数据库中获取
    userID=database.getDatabySql("selsect SNO from S where SNAME='李明'","SNO");

    可以参考

    其次,除了这个方法,还有用PreparedStatement来查询的方法

     具体如上.。个人总结主要记住三个点,第一个url,String url=“jdbc:sqlsever://localhost:1433;databaseName-ExamOnline”  一个点Class.forName("com.microsoft.sqlsever.jdbc.SQLServerDriver"); 一个conn=DriverManager.getConnecion(url,name,password)便可自己打出执行的sql语句

    现在来聊聊我数据库连jdbc的过程

    主要是参考了b站一个视频.

  • 相关阅读:
    C# Nugut CsvHelper 使用
    C# 读写txt
    Js打开QQ聊天对话窗口
    Js 读写Cookies
    js 计算时间差
    C# 读取CSV文件
    使用 SqlBulkCopy 批量插入数据
    sql 添加列并设置默认值
    C# 获取Enum 描述和值集合
    SQL连接其它服务器操作
  • 原文地址:https://www.cnblogs.com/donxiao-999/p/12658998.html
Copyright © 2011-2022 走看看