如何在JAVA 中的PreparedStatement 语句中来判断一个数据库表是否存在

如何在JAVA 中的PreparedStatement 语句中来判断一个数据库表是否存在,第1张

import javasqlConnection;

import javasqlPreparedStatement;

import javasqlResultSet;

import javasqlSQLException;

import utilDBUtil;

public class TableExistTest {

public static void main(String[] args) {

String tableName = "test1";

Connection con = null;

ResultSet rs = null;

PreparedStatement ps = null;

String sql = "SELECT NAME FROM sysobjects WHERE NAME='" + tableName

+ "'";

Systemoutprintln(sql);

try {

con = DBUtilgetConnection();//取得数据库连接

ps = conprepareStatement(sql);

rs = psexecuteQuery();

if (rsnext()) {

Systemoutprintln("存在" + tableName);

} else {

Systemoutprintln("不存在" + tableName);

}

} catch (SQLException e) {

eprintStackTrace();

} finally {

try {

if (rs != null)

rsclose();

if (ps != null)

psclose();

if (con != null)

conclose();

} catch (SQLException e) {

eprintStackTrace();

}

}

}

}

附加提示:

你在查询分析器里面执行这条语句,你会很兴奋

SELECT FROM sysobjects

使用数据库连接及记录集两个控件

数据库连接该数据库,如果失败则说明不存在

则存在就执行新建数据库的sql语句 //CREATE DATABASE 数据库名称

存在则删除该数据库的sql语句 //drop database 数据库名称

判断数据库是否存在

if db_id('数据库名') is null --如果是null就表示数据库不存在否则返回一个数值

同样判断表是否存在用

if object_id('所有者表名') is null

比如

if object_id('dbotesttable') is null

print '表不存在'

#定义一个变量来保存该记录是否存在

declare num int;

#这条sql,就是查询对应的记录有多少条,注意 into num 这两句话,就是把count() 查出的值,赋给到num中

select count() into num from t_count_view where TO_DAYS(now())=TO_DAYS(day);

#接下来的就是判断了,注意,判断是否等于,只有一个等于号

if(num=0)

#等于号之后,还要写一个Then,代表条件成立后要执行的sql

Then

insert into t_count_view(view_people,view_num,day)values(1,1,now());

#else可以直接用,不需要加then

else

update t_count_view set view_people=view_people+1;

#但是当if使用完之后,一定要写end if,代表着if的条件判断结束了

end if;

END

由于ACCESS数据库不支持存储过程,它无法实现一句SQL判断某表是否存在并在不存在时创建它。例如这样:

create table DATA(id text(10) primary key,Data text(100))

where not exists(

select Name from MsysObjects where type=1 and Flags=0 and Name='DATA'

)

怎么办?可以退而求其次用ACCESS VBA编程予以实现。下面是用命令按钮实现

“判断表“DATA”是否存在,如不存在则创建,如已存在,则不处理”的示例代码供参考

Private Sub Command3_Click()

'本代码运行需要引用ADO类库

Dim rs As New ADODBRecordset

Dim strSql As String

'编写检索出DATA表的SQL语句

strSql = "select Name from MsysObjects where type=1 and Flags=0 and Name='DATA'"

rsOpen strSql, CurrentProjectConnection, adOpenStatic, adLockReadOnly

If rsRecordCount < 1 Then

    strSql = "create table DATA(id text(10) primary key,Data text(100))"

    '创建DATA表

    CurrentProjectConnectionExecute strSql

    MsgBox "DATA表创建成功"

Else

    MsgBox "DATA表已经存在"

End If

End Sub

朋友,提问要说清楚,不知你说的是哪种数据库呢?数据库有很多的,是易自带的数据库,还是mssql数据库、mysql数据库、access数据库呢?

不管用那种数据库,都可以根据姓名来进行判断。一般用查询语句来实现。估计你是用的易自带的数据库吧。

假设通过姓名查工资,代码如下:

查找 (读 (“姓名”) = 编辑框1内容)

信息框 (读 (“工资”), 0, )

以上就是关于如何在JAVA 中的PreparedStatement 语句中来判断一个数据库表是否存在全部的内容,包括:如何在JAVA 中的PreparedStatement 语句中来判断一个数据库表是否存在、用易语言怎么判断sql数据库AA是否存在,不存在就创建AA,存在就删除AA、使用Trasact-SQL语言新建数据库或者表前如何判断是否已有同名的库或表存在等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/10140287.html

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

发表评论

登录后才能评论

评论列表(0条)

保存