永发信息网

在.net上用c#编写程序用来维护和管理SQLserver数据库应该怎么编?

答案:4  悬赏:80  手机版
解决时间 2021-12-19 18:45
  • 提问者网友:活着好累
  • 2021-12-19 13:58
完全没有头绪。不知道该怎么办。看了些数据库的书,也没说用C#怎么编程。请各位大侠相助!谢谢!!
最佳答案
  • 五星知识达人网友:蓝房子
  • 2021-12-19 14:18
实现方法。
Connection类有四种:SqlConnection,OleDbConnection,OdbcConnection和OracleConnection。
SqlConnection类的对象连接SQL Server数据库;OracleConnection 类的对象连接Oracle数据库;OleDbConnection类的对象连接支持OLE DB的数据库,如Access;而OdbcConnection类的对象连接任何支持ODBC的数据库。与数据库的所有通讯最终都是通过Connection对象来完成的。
(1)用SqlConnection连接SQL Server
加入命名空间:using System.Data.SqlClient;
连接数据库: string conString = "data source=IP地址; Database=数据库名;user id=用户名; password=密码";
SqlConnection myconnection = new SqlConnection(conString);
myconnection.open();

(2)用OracleConnection连接Oracle
加入命名空间:using System.Data.OracleClient;
连接数据库: string conString = "data source=IP地址; Database=数据库名;user id=用户名; password=密码";
OracleConnection myconnection = new OracleConnection(conString);
myconnection.open();

(3)用 MySqlConnection连接MySQL
在.NET中连接MySQL数据库有两种方法:MySQL Connector/ODBC 和 MySQL Connector/NET,ODBC连接器是符合ODBC标准的交互平台,是.NET访问MySQL数据库最好的选择。
首先,需要下载安装MySql-connector-net-5.1.5.Data.msi这个组件。如果是默认安装,则可以在C:\Program Files\MySQL\MySQL Connector Net 5.1.5\Binaries\.NET2.0中找到MySql.Data.dll,将该文件复制到项目的bin目录下。并且在项目中添加引用MySql.Data.dll。实现代码如下:
加入命名空间:using MySql.Data.MySqlClient;
连接数据库: string conString = "server=IP地址; Database=数据库名;user id=用户名; password=密码";
MySqlConnection myconnection = new MySqlConnection(conString);
myconnection.open();

(4)用OleDbConnection连接各种数据源
由于数据源不同,相应的连接字符串也会不同。
加入命名空间:using System.Data.OleDb;
连接 SQL Server: string conString = "Provider=SQLOLEDB.1; Persist Security Info=False; user id=用户名; Database=数据库名; data source=COMPUTER; ";
OleDbConnection myconnection = new OleDbConnection(conString);
myconnection.open();
连接 Access: string conString = "Provider=Microsoft.Jet.OLEDB.4.0; data source=C:\\Database1.mdb; Persist Security Info=False;";
OleDbConnection myconnection = new OleDbConnection(conString);
myconnection.open();
(也可以通过建立.udl文件来获得字符串)
连接 Oracle: string conString = "Provider=MSDAORA; user id=用户名; password=密码; data source=db; Persist Security Info=False;";
OleDbConnection myconnection = new OleDbConnection(conString);
myconnection.open();
(也可以通过OracleConnection连接)

注意:使用不同的Connection对象需要导入不同的命名空间。OleDbConnection的命名空间为System.Data.OleDb。SqlConnection的命名空间为System.Data.SqlClient。OracleConnection的命名空间为System.Data.OracleClinet。
全部回答
  • 1楼网友:神鬼未生
  • 2021-12-19 15:58
在数据库命信定义中出现了一个错误。查看内部错误细节。 系统错误,无效的操作:当间连接上的原子事务已经完成,但是没有被释放。事务必须被释放,它经常用明确的sql语句。 也就是说,你当前连接上的事务并没有被释主所致的。 问题出在你的循环上。你对事务的理解有问题,包括一楼也只知道事务提交后必须释放,对事务的理解也是不是深的。 不过从整体来看,你没有根本不是在使用事务,你把listid列表的数据一次次上传,然后一次次的使用事务,何必呢?我怀疑你是在练手,你的目的并非是事务——为什么要一次次的上传呢,不考虑把所有的listid建立在事务之中? 所以对于你当前的问题没有任何必要性去修改,自己查看关于事务的概念吧。如果是仅仅是 readcommitted级别的,我真想不通了。
  • 2楼网友:青尢
  • 2021-12-19 14:53
你是要进行什么样的操作,显示SQL的所有数据,还是希望可以修改数据库的所有信息
  • 3楼网友:雾月
  • 2021-12-19 14:39
说来话长哦~~~ 最简单直接的方法有几个步骤: 一. 准备数据库的连接字符串, 可以手动写,也可以从CONFIG中读取,如手写的: string DbConnectionString = "Server=.\SqlExpress;Database=Northwind;Integrated Security = true"; 连接字符串至少要包含数据库服务器,数据库本身以及连接时的安全性三项,很多时安全性会由UID和PWD组成,另外还有超时等信息,也可在连接字符串里指定. 二.在C#的程序里指定命名空间. using System.Data.SqlClient; 因为这个空间下的类是.NET专门为访问和维护SQLServer而量身定做的,一会就会用到. 三.利用第一步得到的连接字符串,可以声明一个SqlConnection对象,用它就可以维护一条指向所需SQLServer的连接. SqlConnection conn = new SqlConnection(DbConnectionString); 四.打开第三步建好的连接对象. conn.Open(); 五.数据库现在已经连接成功,准备就绪,现在该干嘛干嘛,如 下代码把其中Employees表中前三条记录的City字段值改成字符串'Beijing',代码如下: string QueryString = "Update Employees set City='Beijing' Where EmployeeID in (Select top 3 EmployeeID From Employees)"; SqlCommand cmd = new SqlCommand(QueryString, conn); cmd.ExecuteNonQuery(); 六.完成对数据库的操作之后,记得一定要把连接关闭.确保不再使用之后,有必要对连接资源进行释放.因为连接资源对数据库来说是很宝贵的. conn.Close(); conn.Dispose(); 基本上就完成了, 通过对第五步的更改, 可以实现你所问的数据库维护和管理功能. 上面的代码我在Visual Studio 2005 + SqlExpress下调试通过的,可以参考使用呵呵.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯