用.net做一个程序 实现sql server数据库下的 增删改查

用.net做一个程序 实现sql server数据库下的 增删改查,第1张

数据库不难 只学增删改查 最多分钟就能掌握

select from 表 where 字段 = 条件 这个是查询 这个表里面所有内容 加上where 就是根据条件查寻了

insert into 表(里面是字段可以不写 不写就默认是插入所有) values (对应字段进行添加)

update 表 set 字段 where 字段 = 条件

delete from 表 where 字段 = 条件

drop table 表 删除整个表

第一个删除只能删除数据

第二个删除可以彻底删除整个表

先下载ADONET20 Provider for SQLite。下载binaries zip版就可以了。下载完后解压缩,可以在bin目录下找到SystemDataSQLiteDLL。在vs2008中用Add Reference功能把SystemDataSQLiteDLL加到工程里就可以了。运行下面代码试试:

string datasource = "e:/tmp/testdb";

SystemDataSQLiteSQLiteConnectionCreateFile(datasource);

//连接数据库

SystemDataSQLiteSQLiteConnection conn = new SystemDataSQLiteSQLiteConnection();

SystemDataSQLiteSQLiteConnectionStringBuilder connstr = new SystemDataSQLiteSQLiteConnectionStringBuilder();

connstrDataSource = datasource;

connstrPassword = "admin";//设置密码,SQLite ADONET实现了数据库密码保护

connConnectionString = connstrToString();

connOpen();

//创建表

SystemDataSQLiteSQLiteCommand cmd = new SystemDataSQLiteSQLiteCommand();

string sql = "CREATE TABLE test(username varchar(20),password varchar(20))";

cmdCommandText = sql;

cmdConnection = conn;

cmdExecuteNonQuery();

//插入数据

sql = "INSERT INTO test VALUES('a','b')";

cmdCommandText = sql;

cmdExecuteNonQuery();

//取出数据

sql = "SELECT FROM test";

cmdCommandText = sql;

SystemDataSQLiteSQLiteDataReader reader = cmdExecuteReader();

StringBuilder sb = new StringBuilder();

while (readerRead())

{

sbAppend("username:")Append(readerGetString(0))Append("\n")

Append("password:")Append(readerGetString(1));

}

MessageBoxShow(sbToString());

字段说明:

用户的id 假设是 uid

要修改的内容是 content

sql语句:

update 表名 set content='修改后的内容' where uid='你传过来的用户id';

但这样的话,表的设计肯定是有问题的。

一般一个用户可以对应多个内容,所以这样的话就会修改该用户的多个内容,应该还需要一个内容的唯一 id,一般会有一个 id 字段,主键自增。

这样修改的时候的 where 条件应该至少有两个:id 和 uid

id 是为了保证只修改到一条内容,且是指定的内容;

uid 是为了保证该内容是同一个创作的(当然前端直接传 uid 是不安全的,应该通过 session 和 token 后端再转成用户的 uid)

import javasql;

public class Main

{

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

Connection con;

Statement sql;

ResultSet rs;

con = null;

try {

String ur1="jdbc:odbc:Driver={Microsoft Access Driver (mdb)};DBQ=C:/myfile/qfcmdb";

ClassforName("sunjdbcodbcJdbcOdbcDriver");

con = DriverManagergetConnection(ur1);

sql= concreateStatement(ResultSetTYPE_SCROLL_INSENSITIVE,ResultSetCONCUR_UPDATABLE);

rs = sqlexecuteQuery("select from 设备号'");

//这里是查询语句,如果需要做CRUD,换成对应的sql语句就行了。

while (rsnext()) {

String user = rsgetString("设备号");

Systemoutprintln(user);

}

} catch (Exception e) {

Systemoutprintln("sql出错:");

Systemoutprintln(e);

}

}

}

// 定义接口 public interface SyUsersService {

/新增用户/

public void addSyUser(SyUsers syUsers);

/根据用户名得到用的注册信息/

public SyLeaguer isRightPasswordProtect(SyLeaguer syLeaguer);

/更新用户的密码/

public void updateSyUserPassword(SyUsers syUsers);

/用户登录验证/

public boolean checkSyUserLogin(SyUsers syUsers);

/

更新用户状态 @param loginName 登录名 @param state 状态号 0/1

@return 是否更新成功 true/flase

/

public boolean updateSyUserState(String loginName,Integer state);

/

分页查询用户信息

@param pageNo 页号

@param pageSize 页面大小

@param hqlQueryRule 查询规则

@return Page 分页查询对象

/

public Page querySyUserPage(int pageNo,int pageSize,HqlQueryRule hqlQueryRule);

/

更新用户密码

@param loginName 登录名 @param oldPassword 旧的密码

@param newPassword 新的密码

/

public void updateSyUserPassword(String loginName,String oldPassword,String newPassword);

/

根据查询规则查询用户

@see HqlQueryRule

@param hqlQueryRule 查询规则

@return 结果集列表 /

public List querySyUser(HqlQueryRule hqlQueryRule);

/

根据登录名获取用户信息 @param loginName

@return

/

public SyUsers getSyUserByLoginName(String loginName);

/

根据登录名获取用户信息

@param loginName

@return

/

public boolean isRepeatUser(String loginName);

/

更新用户

@param loginName

@return

/

public void updateSyUsers(SyUsers syUsers);

}

// 实现接口 public class SyUsersServiceImp extends

orgspringframeworkormhibernate3supportHibernateDaoSupport

implements SyUsersService {

protected static final Log logger = LogFactorygetLog(SyUsersServiceImpclass); public SyUsersServiceImp() {}

/用户注册添加用户/

public void addSyUser(SyUsers syUsers) {

thisgetHibernateTemplate()save(syUsers);

Set babySet=syUsersgetSyLeaguer()getSyLeaguerBabies();

if(babySet!=null&&babySetsize()>0){

SyLeaguerBaby baby=(SyLeaguerBaby)babySetiterator()next();

thisgetHibernateTemplate()save(baby);

}

}

/用户登录/

public boolean checkSyUserLogin(SyUsers syUsers){

String querySQL = "FROM SyUsers WHERE loginName=:username and loginPassword=:password and state=:state and isEmp=:isemp";

Query query = thisgetSession()createQuery(querySQL);

querysetString("username", syUsersgetLoginName());

querysetString("password", syUsersgetLoginPassword());

querysetInteger("state", 1);

querysetInteger("isemp", 0);

List list = (List)querylist();

return listsize()>0true:false;

}

/密码找回得到注册密保信息/

public SyLeaguer isRightPasswordProtect(SyLeaguer syLeaguer){

String querySQL = "FROM SyLeaguer WHERE loginName=:loginname";

Query query = thisgetSession()createQuery(querySQL);

querysetString("loginname", syLeaguergetLoginName());

return (SyLeaguer)queryuniqueResult();

}

public void updateSyUserPassword(String loginName,String newPassword){

} public Page querySyUserPage(int pageNo, int pageSize,

HqlQueryRule hqlQueryRule) {

// TODO Auto-generated method stub

// Criteria c=thisgetSession()createCriteria(SyUsersclass);

// for(int i=0;restrictList!=null&&i<restrictListsize();i++){

// c=cadd((Criterion) restrictListget(i));

// }

// for(int i=0;orderList!=null&&i<orderListsize();i++){

// c=caddOrder((Order) orderListget(i));

// }

// csetFirstResult((int)pagegetStart());

// csetMaxResults(pagegetPageSize());

// List resultList=clist();

//HqlQueryRule hqr=new HqlQueryRule();

//hqraddEqual("id", new Integer(1234));

Page p = new Page();

Page page = null;

String queryPageHQL = "select new map( suloginName as loginName, suloginPassword as loginPassword,suisEmp as isEmp) from SY_RES su where 1=1";

String countHQL = "select count() from SyUsers where 1=1 ";// 总记录数

queryPageHQL=queryPageHQL+hqlQueryRulegetHql();

Query query = thisgetSession()createQuery(queryPageHQL);

List list = querylist();

PageTool pt=new PageTool(page);

page=ptgetHQLQueryPage(thisgetSession(), queryPageHQL,countHQL, null);

return page;

} public boolean updateSyUserState(String loginName, Integer state) {

// TODO Auto-generated method stub

return false;

} public List querySyUser(HqlQueryRule hqlQueryRule) {

// TODO Auto-generated method stub

return null;

} public void updateSyUserPassword(String loginName, String oldPassword,

String newPassword) {

// TODO Auto-generated method stub

} public SyUsers getSyUserByLoginName(String loginName) {

return (SyUsers)thisgetSession()get(SyUsersclass, loginName);

}

/用户名是否重复/

public boolean isRepeatUser(String loginName){

String querySQL = "FROM SyUsers WHERE loginName=:username";

Query query = thisgetSession()createQuery(querySQL);

querysetString("username", loginName);

List list = (List)querylist();

return listsize()>0true:false;

}

public void updateSyUserPassword(SyUsers syUsers){

thisgetSession()update(syUsers);

}

public void updateSyUsers(SyUsers syUsers){

thisgetSession()update(syUsers);

}

}

公司的项目的一段

VB使用ADO数据库可以分为有源数据库和无源数据库,即是否使用了DSN数据源,如下例:

1、在连接数据库前首先要在VB菜单中“工程”-“引用”从中选择 microsoft activeX Data objects 26 library和 microsoft activeX Data objects recordset 26两个组件,这是在连接数据前所必做的工作。

2、接下来定义ADO的连接对象,如下所示:

Set conn = New ADODBConnection

Set rs = New ADODBRecordset

第一种方法采用的是无源的数据库连接方法

connConnectionString = "Driver={sql server};server=JSZX3-11;uid=sa;pwd=;database=wzc"

connConnectionTimeout = 30

connOpen

rsOpen "select 用户名,密码 from login where 用户名='" & Trim(Combo1Text) & "' And 密码='" & Trim(Text1Text) & "'", conn, adOpenStatic, adLockReadOnly, adCmdText

If rsEOF = True And rsBOF Then

m = MsgBox("请重新登录", vbExclamation)

Text1Text = ""

Text1SetFocus

Else

Form1Hide

End If

rsClose

这是第二种方法连接数据库的方法,这一种方法是采用有源的方法与数据库连接的方法,代码如下所示:

Set conn = New ADODBConnection

Set rs = New ADODBRecordset

connConnectionString = "DSN=login;uid=sa;pwd=;"

connConnectionTimeout = 30

connOpen

rsOpen "select 用户名 from login", conn, adOpenStatic, adLockReadOnly, adCmdText

Dim i As String

For t = 0 To Val(rsRecordCount) - 1

i = Trim(rsFields("用户名")Value)

rsMoveNext

Combo1AddItem i

Next t

rsClose

增删查改的语句按照自己的需要填进去~

用Adoconnection与数据库连接,adoquery的connection为adoconnection,将datasource的dataset连adoquery,然后在adoquery的SQL中写sql语句即可,如果要连存储过程,只接用exec 存储过程也可以,只是要记住 ,用adoquery的execsql

随便找个基础的教 程中都 有这方面的介绍

以上就是关于用.net做一个程序 实现sql server数据库下的 增删改查全部的内容,包括:用.net做一个程序 实现sql server数据库下的 增删改查、C#.NET,程序怎么实现和SQLITE数据库的连接以及增删改查的功能、如何利用后台处理执行数据库的增删改查等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: https://outofmemory.cn/zz/9506680.html

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

发表评论

登录后才能评论

评论列表(0条)

保存