JAVA数据库连接小程序错误

JAVA数据库连接小程序错误,第1张

能缩进一下不?

你while括号应该把if括起来才对!

package text;

import javasql;

public class Fds {

      public static void main(String[] args) throws SQLException {

            Connection con = null;

            Statement st = null;

            ResultSet rs = null;

            String sql = "select names from systypes";

            try {

                  ClassforName("sunjdbcodbcJdbcOdbcDriver");

                  con = DriverManagergetConnection("jdbc:odbc:master", "sa",

                              "4217715");

                  stexecute(sql);

                  String t = null;

                  while (rsnext()) {

                        t = rsgetString("name");

                        if (t != null) {

                              Systemoutprintln("name:" + t);

                        }

                        if (t == null) {

                              Systemoutprintln("no");

                        }

                  }

            } catch (Exception e) {

            } finally {

                  rsclose();

                  stclose();

                  conclose();

            }

      }

}

下面给出两段典型的数据库连接的例子。在此之前,请在程序头部using处添加using SystemDataSqlClient或SystemDataOleDb,以保证数据库访问时用到的命名空间能引用

SQL Server数据访问

string strConn="Integrated Security=SSPI;Initial Catalog=MyDatabase;Data Source=YY-POWERPC ";

SqlConnection myConnection = new SqlConnection (strConn);

myConnectionOpen();

OleDb数据访问

String strConn="Provider=SQLOLEDB;Data Source=localhost;Initial Catalog=MyDatabase;Integrated Security=SSPI";

OleDbConnection myConnection=new OleDbConnection (strConn);

myConnectionOpen();

上述步骤执行后,如果没有异常抛出,便可成功完成与数据库的连接。在完成了与数据库的连接后,接下来就是建立一个DataAdapter对象,来完成可访问数据库的工作。DataAdapter的工作是后面DataSet的基础,其内容就是建立一个DataSet与数据库的中间层,来协调访问。由于DataAdapter与DataSet的关系十分紧密,我就结合在一起介绍了。DataAdapter也分为SqlDataAdapter和 OleDbDataAdatper两种。下面给出一段典型代码(OleDbDataAdapter的情况可类推):

SqlDataAdapter myDataAdapter = new SqlDataAdapter ();

DataSet myDataSet = new DataSet ();

string strCom = "SELECT FROM 会员信息表";

myDataAdapterSelectCommand = new SqlCommand (strCom,myConnection);

SqlCommandBuilder myCB = new SqlCommandBuilder (myDataAdapter);

myDataAdapterFill (myDataSet,"会员信息表");

这段代码用到了SqlDataAdapter、DataSet、SqlCommand、SqlCommandBuilder四个对象。从上图中可以看出,SqlDataAdapter的作用就是负责与数据库的通讯访问,同时与DataSet相连,它的内部有四个很重要的Command对象(同样分为SqlCommand和OleDbCommand),都是访问数据库必用的,分别为SelectCommand、InsertCommand、 UpdateCommand、DeleteCommand对象。这些Command对象便是专门用来完成对数据库的查询、插入、更新、删除 *** 作,它们就像四个大臣,在DataAdapter的控制下分别主管各自的事情。其中SelectCommand是它们四个中的老大,由它可以自动的构造生成另外的三个。构造生成的过程就是应用CommandBuilder。在这之前,我们只需要指定DataAdapter中的SelectCommand对象,就可以了。

在设置好了SQL Select语句后,就可以开始填充相应的数据集了。方法是应用DataAdapter的Fill方法,参数为DataSet及其中的某个 DataTable。这里要着重讲一讲DataSet对象。如果你用过ADO中的Recordset对象,你可能会感觉到DataSet和 Recordset的差别。Recordset一般只能应用于单表,即一个Recordset对应于一张表。而DataSet中有一个 DataTableCollection,即一个DataTable集合,可以包含多个DataTable对象。DataTable对象看上去就更加像一张表了,其中有DataRowCollection、DataColumnCollection、ConstraintCollection。它们分别代表DataRow(数据行)、DataColumn(数据列)、Constraint(约束关系)的对象集合。可能说这么多,你已经有点儿迷糊了,先看一句代码吧。

myDataSetTables["MyTable"]Rows[3]["MyName"] = "杨扬";

怎么样?是不是一下子就明白了许多。这是一句多么完美的OO思想表达出的语句啊!这句就是将DataSet下的一个名为MyTable的"虚表 "中的第4行的MyName字段的内容改为"杨扬"。为什么叫"虚表"呢?这是因为ADONET的一个特点就是脱机连接数据库。这样可以减少网络通讯的压力,提高效率。你可能会问DataColumn在哪呢?Rows[3]就表示了第4行记录,换句话说Rows[3]就是一个DataRow对象,一加上 ["MyName"]就自动定位到了MyName字段的内容。ADONET规定,访问表中内容必须是先行后列的原则,Column["MyName"] [3]是不允许的。当然,DataColumn也是什么重要的,比如想查看某列的列头(Field),可以用Column[1]ColumnName更改。

看你数据库的参数配置是否正确(请确认参数没错)

看你的AdminUser类,里面有个tableName的方法:返回表名的!!!你看看那个方法返回的表名是不是你数据库的表名(一致才行!!!)

定义一个全局的互斥事件CMunex cMunex;

当你在一个线程里要连接数据库的时候可以这样:cMunexlock();

处理完以后可以这样 :cMunexunlock();

这样就OK了。应该可以解决问题了

以上就是关于JAVA数据库连接小程序错误全部的内容,包括:JAVA数据库连接小程序错误、高分求助c#连数据库小程序、yii框架怎么写接口给微信小程序连接数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9283168.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存