📄 csunittest.java
字号:
stmt.execute("set dateformat ymd");
dropTable("#t0027");
String sql =
"create table #t0027 ( " +
" mybinary binary(5) not null, " +
" myvarbinary varbinary(4) not null, " +
" mychar char(10) not null, " +
" myvarchar varchar(8) not null, " +
" mydatetime datetime not null, " +
" mysmalldatetime smalldatetime not null, " +
" mydecimal10_3 decimal(10,3) not null, " +
" mynumeric5_4 numeric (5,4) not null, " +
" myfloat6 float(6) not null, " +
" myfloat14 float(6) not null, " +
" myreal real not null, " +
" myint int not null, " +
" mysmallint smallint not null, " +
" mytinyint tinyint not null, " +
" mymoney money not null, " +
" mysmallmoney smallmoney not null, " +
" mybit bit not null, " +
" mytimestamp timestamp not null, " +
" mytext text not null, " +
" myimage image not null, " +
" mynullbinary binary(3) null, " +
" mynullvarbinary varbinary(6) null, " +
" mynullchar char(10) null, " +
" mynullvarchar varchar(40) null, " +
" mynulldatetime datetime null, " +
" mynullsmalldatetime smalldatetime null, " +
" mynulldecimal10_3 decimal(10,3) null, " +
" mynullnumeric15_10 numeric(15,10) null, " +
" mynullfloat6 float(6) null, " +
" mynullfloat14 float(14) null, " +
" mynullreal real null, " +
" mynullint int null, " +
" mynullsmallint smallint null, " +
" mynulltinyint tinyint null, " +
" mynullmoney money null, " +
" mynullsmallmoney smallmoney null, " +
" mynulltext text null, " +
" mynullimage image null) ";
int count = stmt.executeUpdate(sql);
// Insert a row without nulls via a Statement
sql =
"insert into #t0027 " +
" (mybinary, " +
" myvarbinary, " +
" mychar, " +
" myvarchar, " +
" mydatetime, " +
" mysmalldatetime, " +
" mydecimal10_3, " +
" mynumeric5_4, " +
" myfloat6, " +
" myfloat14, " +
" myreal, " +
" myint, " +
" mysmallint, " +
" mytinyint, " +
" mymoney, " +
" mysmallmoney, " +
" mybit, " +
" mytimestamp, " +
" mytext, " +
" myimage, " +
" mynullbinary, " +
" mynullvarbinary, " +
" mynullchar, " +
" mynullvarchar, " +
" mynulldatetime, " +
" mynullsmalldatetime, " +
" mynulldecimal10_3, " +
" mynullnumeric15_10, " +
" mynullfloat6, " +
" mynullfloat14, " +
" mynullreal, " +
" mynullint, " +
" mynullsmallint, " +
" mynulltinyint, " +
" mynullmoney, " +
" mynullsmallmoney, " +
" mynulltext, " +
" mynullimage) " +
" values " +
" (0x1213141516, " + // mybinary,
" 0x1718191A, " + // myvarbinary
" '1234567890', " + // mychar
" '12345678', " + // myvarchar
" '19991015 21:29:59.01', " + // mydatetime
" '19991015 20:45', " + // mysmalldatetime
" 1234567.089, " + // mydecimal10_3
" 1.2345, " + // mynumeric5_4
" 65.4321, " + // myfloat6
" 1.123456789, " + // myfloat14
" 987654321.0, " + // myreal
" 4097, " + // myint
" 4094, " + // mysmallint
" 200, " + // mytinyint
" 19.95, " + // mymoney
" 9.97, " + // mysmallmoney
" 1, " + // mybit
" null, " + // mytimestamp
" 'abcdefg', " + // mytext
" 0x0AAABB, " + // myimage
" 0x123456, " + // mynullbinary
" 0xAB, " + // mynullvarbinary
" 'z', " + // mynullchar
" 'zyx', " + // mynullvarchar
" '1976-07-04 12:00:00.04', " + // mynulldatetime
" '2000-02-29 13:46', " + // mynullsmalldatetime
" 1.23, " + // mynulldecimal10_3
" 7.1234567891, " + // mynullnumeric15_10
" 987654, " + // mynullfloat6
" 0, " + // mynullfloat14
" -1.1, " + // mynullreal
" -10, " + // mynullint
" 126, " + // mynullsmallint
" 7, " + // mynulltinyint
" -19999.00, " + // mynullmoney
" -9.97, " + // mynullsmallmoney
" '1234', " + // mynulltext
" 0x1200340056) " + // mynullimage)
"";
count = stmt.executeUpdate(sql);
sql = "select * from #t0027";
rs = stmt.executeQuery(sql);
assertTrue(rs.next());
output.println("mybinary is " + rs.getObject("mybinary"));
output.println("myvarbinary is " + rs.getObject("myvarbinary"));
output.println("mychar is " + rs.getString("mychar"));
output.println("myvarchar is " + rs.getString("myvarchar"));
output.println("mydatetime is " + rs.getTimestamp("mydatetime"));
output.println("mysmalldatetime is " + rs.getTimestamp("mysmalldatetime"));
output.println("mydecimal10_3 is " + rs.getObject("mydecimal10_3"));
output.println("mynumeric5_4 is " + rs.getObject("mynumeric5_4"));
output.println("myfloat6 is " + rs.getDouble("myfloat6"));
output.println("myfloat14 is " + rs.getDouble("myfloat14"));
output.println("myreal is " + rs.getDouble("myreal"));
output.println("myint is " + rs.getInt("myint"));
output.println("mysmallint is " + rs.getShort("mysmallint"));
output.println("mytinyint is " + rs.getByte("mytinyint"));
output.println("mymoney is " + rs.getObject("mymoney"));
output.println("mysmallmoney is " + rs.getObject("mysmallmoney"));
output.println("mybit is " + rs.getObject("mybit"));
output.println("mytimestamp is " + rs.getObject("mytimestamp"));
output.println("mytext is " + rs.getObject("mytext"));
output.println("myimage is " + rs.getObject("myimage"));
output.println("mynullbinary is " + rs.getObject("mynullbinary"));
output.println("mynullvarbinary is " + rs.getObject("mynullvarbinary"));
output.println("mynullchar is " + rs.getString("mynullchar"));
output.println("mynullvarchar is " + rs.getString("mynullvarchar"));
output.println("mynulldatetime is " + rs.getTimestamp("mynulldatetime"));
output.println("mynullsmalldatetime is " + rs.getTimestamp("mynullsmalldatetime"));
output.println("mynulldecimal10_3 is " + rs.getObject("mynulldecimal10_3"));
output.println("mynullnumeric15_10 is " + rs.getObject("mynullnumeric15_10"));
output.println("mynullfloat6 is " + rs.getDouble("mynullfloat6"));
output.println("mynullfloat14 is " + rs.getDouble("mynullfloat14"));
output.println("mynullreal is " + rs.getDouble("mynullreal"));
output.println("mynullint is " + rs.getInt("mynullint"));
output.println("mynullsmallint is " + rs.getShort("mynullsmallint"));
output.println("mynulltinyint is " + rs.getByte("mynulltinyint"));
output.println("mynullmoney is " + rs.getObject("mynullmoney"));
output.println("mynullsmallmoney is " + rs.getObject("mynullsmallmoney"));
output.println("mynulltext is " + rs.getObject("mynulltext"));
output.println("mynullimage is " + rs.getObject("mynullimage"));
}
public void testCallStoredProcedures0028() throws Exception {
Statement stmt = con.createStatement();
ResultSet rs = null;
boolean isResultSet;
int updateCount;
int resultSetCount=0;
int rowCount=0;
int numberOfUpdates=0;
isResultSet = stmt.execute("EXEC sp_who");
output.println("execute(EXEC sp_who) returned: " + isResultSet);
updateCount=stmt.getUpdateCount();
while (isResultSet || (updateCount!=-1)) {
if (isResultSet) {
resultSetCount++;
rs = stmt.getResultSet();
ResultSetMetaData rsMeta = rs.getMetaData();
int columnCount = rsMeta.getColumnCount();
output.println("columnCount: " +
Integer.toString(columnCount));
for(int n=1; n<= columnCount; n++) {
output.println(Integer.toString(n) + ": " +
rsMeta.getColumnName(n));
}
while(rs.next()) {
rowCount++;
for(int n=1; n<= columnCount; n++) {
output.println(Integer.toString(n) + ": " +
rs.getString(n));
}
}
}
else {
numberOfUpdates += updateCount;
output.println("UpdateCount: " +
Integer.toString(updateCount));
}
isResultSet=stmt.getMoreResults();
updateCount = stmt.getUpdateCount();
}
output.println("resultSetCount: " + resultSetCount);
output.println("Total rowCount: " + rowCount);
output.println("Number of updates: " + numberOfUpdates);
assertTrue((rowCount>=1) && (numberOfUpdates==0) && (resultSetCount==1));
}
public void testxx0029() throws Exception {
Statement stmt = con.createStatement();
int i;
int j;
int count = 0;
ResultSet rs = null;
boolean isResultSet;
int updateCount;
int resultSetCount=0;
int rowCount=0;
int numberOfUpdates=0;
output.println("before execute DROP PROCEDURE");
try {
isResultSet =stmt.execute("DROP PROCEDURE #t0029_p1");
updateCount = stmt.getUpdateCount();
do {
output.println("DROP PROCEDURE isResultSet: " + isResultSet);
output.println("DROP PROCEDURE updateCount: " + updateCount);
isResultSet = stmt.getMoreResults();
updateCount = stmt.getUpdateCount();
} while (((updateCount!=-1) && !isResultSet) || isResultSet);
}
catch(SQLException e) {
}
try {
isResultSet =stmt.execute("DROP PROCEDURE #t0029_p2");
updateCount = stmt.getUpdateCount();
do {
output.println("DROP PROCEDURE isResultSet: " + isResultSet);
output.println("DROP PROCEDURE updateCount: " + updateCount);
isResultSet = stmt.getMoreResults();
updateCount = stmt.getUpdateCount();
} while (((updateCount!=-1) && !isResultSet) || isResultSet);
}
catch(SQLException e) {
}
dropTable("#t0029_t1");
isResultSet =
stmt.execute(
" create table #t0029_t1 " +
" (t1 datetime not null, " +
" t2 datetime null, " +
" t3 smalldatetime not null, " +
" t4 smalldatetime null, " +
" t5 text null) ");
updateCount = stmt.getUpdateCount();
do {
output.println("CREATE TABLE isResultSet: " + isResultSet);
output.println("CREATE TABLE updateCount: " + updateCount);
isResultSet = stmt.getMoreResults();
updateCount = stmt.getUpdateCount();
} while (((updateCount!=-1) && !isResultSet) || isResultSet);
isResultSet =
stmt.execute(
"CREATE PROCEDURE #t0029_p1 AS " +
" insert into #t0029_t1 values " +
" ('1999-01-07', '1998-09-09 15:35:05', " +
" getdate(), '1998-09-09 15:35:00', null) " +
" update #t0029_t1 set t1='1999-01-01' " +
" insert into #t0029_t1 values " +
" ('1999-01-08', '1998-09-09 15:35:05', " +
" getdate(), '1998-09-09 15:35:00','456') " +
" update #t0029_t1 set t2='1999-01-02' " +
" declare @ptr varbinary(16) " +
" select @ptr=textptr(t5) from #t0029_t1 " +
" where t1='1999-01-08' " +
" writetext #t0029_t1.t5 @ptr with log '123' ");
updateCount = stmt.getUpdateCount();
do {
output.println("CREATE PROCEDURE isResultSet: " + isResultSet);
output.println("CREATE PROCEDURE updateCount: " + updateCount);
isResultSet = stmt.getMoreResults();
updateCount = stmt.getUpdateCount();
} while (((updateCount!=-1) && !isResultSet) || isResultSet);
isResultSet =
stmt.execute(
"CREATE PROCEDURE #t0029_p2 AS " +
" set nocount on " +
" EXEC #t0029_p1 " +
" SELECT * FROM #t0029_t1 ");
updateCount = stmt.getUpdateCount();
do {
output.println("CREATE PROCEDURE isResultSet: " + isResultSet);
output.println("CREATE PROCEDURE updateCount: " + updateCount);
isResultSet = stmt.getMoreResults();
updateCount = stmt.getUpdateCount();
} while (((updateCount!=-1) && !isResultSet) || isResultSet);
isResultSet = stmt.execute( "EXEC #t0029_p2 ");
output.println("execute(EXEC #t0029_p2) returned: " + isResultSet);
updateCount=stmt.getUpdateCount();
while (isResultSet || (updateCount!=-1)) {
if (isResultSet) {
resultSetCount++;
rs = stmt.getResultSet();
ResultSetMetaData rsMeta = rs.getMetaData();
int columnCount = rsMeta.getColumnCount();
output.println("columnCount: " +
Integer.toString(columnCount));
for(int n=1; n<= columnCount; n++) {
output.println(Integer.toString(n) + ": " +
rsMeta.getColumnName(n));
}
while(rs.next()) {
rowCount++;
for(int n=1; n<= columnCount; n++) {
output.println(Integer.toString(n) + ": " +
rs.getString(n));
}
}
}
else {
numberOfUpdates += updateCount;
output.println("UpdateCount: " +
Integer.toString(updateCount));
}
isResultSet=stmt.getMoreResults();
updateCount = stmt.getUpdateCount();
}
output.println("resultSetCount: " + resultSetCount);
output.println("Total rowCount: " + rowCount);
output.println("Number of updates: " + numberOfUpdates);
assertTrue((resultSetCount==1) &&
(rowCount==2) &&
(numberOfUpdates==0));
}
public void testDataTypesByResultSetMetaData0030() throws Exception {
boolean passed = true;
Statement stmt = con.createStatement();
int count = 0;
ResultSet rs;
String sql = ("select " +
" convert(tinyint, 2), " +
" convert(smallint, 5) ");
rs = stmt.executeQuery(sql);
if (!rs.next()) {
passed = false;
}
else {
ResultSetMetaData meta = rs.getMetaData();
if (meta.getColumnType(1)!=java.sql.Types.TINYINT) {
output.println("tinyint column was read as "
+ meta.getColumnType(1));
passed = false;
}
if (meta.getColumnType(2)!=java.sql.Types.SMALLINT) {
output.println("smallint column was read as "
+ meta.getColumnType(2));
passed = false;
}
if (rs.getInt(1) != 2) {
output.println("Bogus value read for tinyint");
passed = false;
}
if (rs.getInt(2) != 5) {
output.println("Bogus value read for smallint");
passed = false;
}
}
assertTrue(passed);
}
public void testTextColumns0031() throws Exception {
Statement stmt = con.createStatement();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -