C#winform中数据库的连接

一、连接VS2013自带的本地数据库

using System.Data.SqlClient;

首先定义一个连接字符串

 public static string ConnectString = "Server=(localdb)\\Projects;Initial Catalog=Test;Integrated Security=true";

其中:Server是服务器名

   Ilitial Catalog是数据库名

   Integrated Security是集成验证,使用Windows验证的方式去连接到数据库服务器。不需要在连接字符串中编写用户名和密码,从一定程度上说提高了安全性。(该参数为false时或省略该项时,按照Userid和password来连接,设为SSPI时相当于true。)

 using (SqlConnection conn = new SqlConnection(ConnectString))
             {
                 string sql = "select password,level from [Test].[dbo].[User] where userid=‘" + username + "‘";
                 using (SqlCommand cmd = new SqlCommand(sql, conn))
                 {
                     conn.Open();
                     using (SqlDataReader sdr = cmd.ExecuteReader())
                     {
                         if(sdr.Read())
                         {
                             //则将对应该用户名下的 第一个字段 即使密码(select的第一个字段) 赋给 字符串pwd,并且依次往后读取 所有的密码
                             //Trim()方法为移除字符串前后的空白
                             string pwd = sdr.GetString(0).Trim();
                             //读取器sdr获取了2列数据 第1列为密码索引为0 第2列即索引为1的是用户类型
                             string uType = sdr.GetString(1).Trim();
                             if (pwd == password)
                             {
                                 //获取登陆成功后的用户ID
                                Uid = username;
                                UserType = uType;
                                if(UserType=="普通用户")
                                 {
                                     this.Hide();
                                    User muser = new User();
                                     muser.ShowDialog();
                                 }
                                 else if(UserType== "高级用户")
                                 {
                                     this.Hide();
                                     VipUser mvuser = new VipUser();
                                     mvuser.ShowDialog();

                                 }
                                 else if(UserType=="管理员")
                                 {
                                     this.Hide();
                                     Admimistor madministor = new Admimistor();
                                     madministor.ShowDialog();

                                 }
                                 }

SqlConnection:数据库连接类

SqlCommand:数据库操作类

SqlDataReader:读取

二、对数据库中的数据进行增、删、查、改(在DataGridview中)

     SqlDataAdapter adp = null;
     DataSet ds = null;

        private void Admimistor_Load(object sender, EventArgs e)
        {
                adp = new SqlDataAdapter("select * from [Test].[dbo].[User]", Login.ConnectString);//实例化桥接器
            ds = new DataSet();//实例化数据集
            adp.Fill(ds);
            dataGridView1.DataSource = ds.Tables[0];

        }
        //向表中编辑或添加数据
        private void button1_Click(object sender, EventArgs e)
        {
            SqlCommandBuilder scb = new SqlCommandBuilder(adp);
            //更新数据
            try
            {
                //这里是关键
                adp.Update(ds);
            }
            catch (SqlException ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

 //删除表中的选中行
        private void button3_Click(object sender, EventArgs e)
        {
            foreach (DataGridViewRow dr in dataGridView1.SelectedRows)
            {
                MessageBox.Show("确认删除吗?");
                dataGridView1.Rows.Remove(dr);//删除一条记录
            }
        }

SqlDataAdapter是 DataSet和 SQL Server之间的桥接器,用于检索和保存数据。SqlDataAdapter通过对数据源使用适当的Transact-SQL语句映射 Fill(它可更改DataSet中的数据以匹配数据源中的数据)和 Update(它可更改数据源中的数据以匹配 DataSet中的数据)来提供这一桥接。当SqlDataAdapter填充 DataSet时,它为返回的数据创建必需的表和列(如果这些表和列尚不存在)。

DataSet当成内存中的数据库,DataSet是不依赖于数据库的独立数据集合。所谓独立,就是说,即使断开数据链路,或者关闭数据库,DataSet依然是可用的,DataSet在内部是用XML来描述数据的,由于XML是一种与平台无关、与语言无关的数据描述语言,而且可以描述复杂关系的数据,比如父子关系的数据,所以DataSet实际上可以容纳具有复杂关系的数据,而且不再依赖于数据库链路。

部分引用自:

1.C#中SqlDataAdapter的使用小结 - CSDN博客
http://blog.csdn.net/nicholaseenzhu/article/details/70417407

2.360百科

   


 

原文地址:https://www.cnblogs.com/huhuhuhumiaomiao/p/8280009.html

时间: 2024-08-24 10:10:54

C#winform中数据库的连接的相关文章

PHP中数据库的连接

<?php //1.链接MySQL服务器 $conn = mysql_connect("localhost", "root" , 199452); //2.选择数据库 $db = mysql_select_db("xinlangweibo"); //3.设置编码 mysql_query("set names utf8"); ? //4.对数据库进行操作 //增加 $sql="insert into user2(

通用权限管理系统基类中数据库的连接

public class BaseController : Controller { /// <summary> /// 用户中心Dbhelper /// </summary> public IDbHelper DbHelperUserCenter = GetDbConnection(BaseSystemInfo.UserCenterDbType, BaseSystemInfo.UserCenterDbConnection, ConfigHelper.GetConfigBool(&

SSM框架中数据库无法连接的问题

首先是SSM框架中所有的配置都是没有问题的,而且项目在其他人的环境上也能正常访问数据库:那么最有可能的就是数据库版本的问题导致数据库连接不上,服务器给我的报错是: 15:37:25.902 [C3P0PooledConnectionPoolManager[identityToken->1hge4n5a4xz7ohp18togle|54666959]-HelperThread-#0] DEBUG c.m.v.resourcepool.BasicResourcePool - An exception

数据库中的左连接(left join)和右连接(right join)区别

Left Join / Right Join /inner join相关 关于左连接和右连接总结性的一句话: 左连接where只影向右表,右连接where只影响左表. Left Join select * from tbl1 Left Join tbl2 where tbl1.ID = tbl2.ID 左连接后的检索结果是显示tbl1的所有数据和tbl2中满足where 条件的数据. 简言之 Left Join影响到的是右边的表 Right Join select * from tbl1 Rig

如何在PHP5中通过PDO连接SQLite3数据库

通过PHP跟PDO配置SQLite数据库是一件很繁琐的事情,经过一下午的研究,终于理清了里面的思路.现在拿出来跟大家共享.初学,错误请指出. 首先我们先选择要使用的web server 软件,由于从兼容性跟性能方面的需求,我选择了目前来说最新版的apache. 第二步,我们要使用目前最新版本的PHP zip package .这里提示大家一下,经过我痛苦的反复的实验跟查看资料,如果大家想要使用PDO扩展连接到SQLite数据库的话,请你一定不要选择安装包,因为它不支持很多PHP的扩展库文件. 第

Tomcat7中配置Oracle 11g数据库DBCP连接池

将       ojdbc6.jar       tomcat-jdbc-7.0.37.jar            拷贝到工程的WEB-INF\lib  下面 一.在Tomcat的配置文件Tomcat7.0\conf\context.xml中添加信息: ? 1 2 3 4 5 6 7 8 9 10 11 <?xml version='1.0' encoding='utf-8'?> <Resource  name="jdbcoracle"   auth="C

JSP中使用JDBC连接MySQL数据库的详细步骤

1,首先在自己新建的项目文本框中输入Web Project的名称,然后单击下一步. 2,继续单击下一步 3,把Generate web.xml deployment descriptor复选框勾上. 4,单击Finish,完成Web project工程的创建. 5,打开MyEclipse Datebase Explore,如图所示 6,按图中所示填写各项内容,并通过Add JARS添加相应的数据库驱动程序. 7,通过Test Driver测试驱动是否连接成功,需要输入密码.成功后如下图所示 8,

【转】mysql数据库中实现内连接、左连接、右连接

[转]mysql数据库中实现内连接.左连接.右连接 内连接:把两个表中数据对应的数据查出来 外连接:以某个表为基础把对应数据查出来 首先创建数据库中的表,数据库代码如下: /* Navicat MySQL Data Transfer Source Server : localhost_3306 Source Server Version : 50150 Source Host : localhost:3306 Source Database : store Target Server Type

C#中oracle数据库的连接方法

C#中oracle数据库的连接方法 一.关于数据库的操作 1.数据库连接      有2种:      第一种:古老的方法(较为死板,不利于灵活操作),即用OracleConnection的类来连接              string mysqlstr ="user id = xal;data source = xal;password = xal";              OracleConnection mycnn = new OracleConnection(mysqls