C#web项目是如何连接数据库做判断的

C#web项目是如何连接数据库做判断的,第1张

自己程序中定义了一个数据库 *** 作的类,用的是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数据库的有什么区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存