自己程序中定义了一个数据库 *** 作的类,用的是Server2000的数据库,仅供参考:
namespace
ComtactManager
{
class
DataBase:IDisposable
{
private
SqlConnection
Sqlconn;
public
static
string
sConn
=
"server=localhost;database=HqCompact;uid=sa;pwd=";
public
void
Dispose()
{
Dispose(true);
GCSuppressFinalize(true);
}
protected
void
Dispose(bool
disposing)
{
if
(disposing)
return;
if
(Sqlconn
!=
null)
{
SqlconnDispose();
Sqlconn
=
null;
}
}
public
void
Open()
{
if
(Sqlconn
==
null)
{
Sqlconn
=
new
SqlConnection(sConn);
SqlconnOpen();
}
}
public
void
Close()
{
if
(Sqlconn
!=
null)
SqlconnClose();
}
public
DataSet
RunSelectSQL(string
sSQLString)
{
thisOpen();
DataSet
SqlDS
=
new
DataSet();
SqlDataAdapter
SqlDA
=
new
SqlDataAdapter(sSQLString,thisSqlconn);
SqlDAFill(SqlDS);
return
SqlDS;
}
public
bool
RunReaderSQL(string
sSQLString)
{
thisOpen();
SqlCommand
cmd
=
new
SqlCommand(sSQLString,
thisSqlconn);
SqlDataReader
reader
=
cmdExecuteReader();
if
(readerRead())
{
readerClose();
return
true;
}
else
{
readerClose();
return
false;
}
}
public
SqlDataReader
getReader(string
strSelect)
{
SqlCommand
cmd
=
new
SqlCommand(strSelect,Sqlconn);
SqlDataReader
reader
=
cmdExecuteReader();
return
reader;
}
public
void
RunDelOrInsSQL(string
sSQLString)
{
thisOpen();
SqlCommand
Sqlcomm
=
new
SqlCommand(sSQLString,
thisSqlconn);
SqlcommExecuteNonQuery();
}
public
void
RunProcedure(SqlCommand
cmd)
{
cmdExecuteNonQuery();
}
}
}
nextval与序列关联,表示下一个,如:
创建里一个序列seq_1:#序列一般表示第几行,起标识作用
create sequence seq_1 increment by 1 start with 1
在表中使用此序列:
INSERT INTO A VALUES (seq_1nextval, 'LEWIS', 'CLERK',7902, SYSDATE, 1200, NULL, 20);
2values与insert 连用,标示插入的字段值,如:
有一个表 A,A有三个字段:name,age,sex,都是archar2类型的,则往表中插入数据语句为:
insert into A values ('name','age','woman')
VALUE是值,VALUES 是多个值的集合
VALUE并不是一个合法的T-SQL关键字
首先是大体一致的,只是分页查询时oracle用的伪列(rownum),mysql用的是limit,具体的可以百度一下分页;
另外oracle对sql语句要求更为严格,而且oracle里变量较mysql更多点,oracle中有number型,有大数据类型,mysql没得;
另外举个例子,oracle不能插入为空列,而mysql是可以的(个人觉得,不知道正确与否)。还有他们两者函数有不同之处,如转日期函数oracle是to_date('要转的字符串','格式') -- select to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') from dual,而mysql是str_to_date('08/09/2008', '%m/%d/%Y'); -- 2008-08-09//都是针对字符串转日期来的。
还有一点,我们常常希望主键可以自动增长,避免我们插入数据时的重复问题,但是oracle不能设置列自动增长,而mysql是可以的,oracle可以用序列加触发器来解决自动增长问题达到与mysql一样的效果。
总体来说百分之九十的sql语句是没区别的。总体来说oracle的格式严格点,对有些字符型的还必须加单引号才能插入,mysql要求就没这么多了。还有当向数据库插入一个日期时,mysql可以直接插入成功,但是oracle需要先转化为sql里面的日期类型才行;oracle较mysql而言更安全,但是收费的,一般大公司用的多。oracle还有存储过程和函数,触发器这些这是mysql没有的。大体就是这样吧。
以上就是关于C#web项目是如何连接数据库做判断的全部的内容,包括:C#web项目是如何连接数据库做判断的、orecal数据库中value和values的区别、在mybatis中的动态sql在mysql数据库和orecal数据库的有什么区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)