ADO.Net1

一、ADO.Net

数据库连接技术

二、查询

1.步骤:

1)使用数据库空间:using System.Data.SqlClient;

2)连接数据库

3)创建数据库操作命令

4)输入操作命令

5)开启数据库

6)读取数据内容

7)打印

8)关闭数据库

2.例题

            SqlConnection Sql= new SqlConnection("server=.;database=bosamvs;user=sa;pwd=123456;");//连接数据库;
            SqlCommand stud = Sql.CreateCommand();//创建数据库操作命令;
            stud.CommandText="select*from student";//输入数据库操作命令;
            Sql.Open();//开启数据库;
            SqlDataReader reader = stud.ExecuteReader();//读取数据库内容
            if (reader.HasRows)//判断是否含有读取内容
            {
                while (reader.Read())//读取一行
                {
                    string date=Convert.ToDateTime(reader[2]).ToString("yyyy年MM月dd日");
                    string sex=((bool)reader[3])?"男":"女";
                    string grade=((decimal)reader[4]).ToString("#.##");
                    DateTime age = DateTime.Now;
                    DateTime birth =Convert.ToDateTime(reader[2]);
                    Console.WriteLine("学号:{0};姓名:{1};\t生日:{2};年龄:{3};性别:{4};成绩:{5};", reader[0], reader[1], date,age.Year-birth.Year, sex, grade);
                }
            }
            Sql.Close();//关闭数据库
            Console.ReadLine();

三、添加,删除,修改

1.步骤:

(1)添加

1)使用数据库空间:using System.Data.SqlClient;

2)连接数据库

3)输入添加项

4)创建数据库操作命令

5)输入操作命令

6)开启数据库

7)读取数据内容

8)打印

9)关闭数据库

(2)删除

1)使用数据库空间:using System.Data.SqlClient;

2)连接数据库

3)输入删除项编号

4)创建数据库操作命令

5)输入操作命令

6)开启数据库

7)读取数据内容

8)打印

9)关闭数据库

(3)修改

1)使用数据库空间:using System.Data.SqlClient;

2)连接数据库

3)选择要修改内容的编号,输入修改内容

4)创建数据库操作命令

5)输入操作命令

6)开启数据库

7)读取数据内容

8)打印

9)关闭数据库

2.例题

            #region 1.查询显示
            SqlConnection student = new SqlConnection("server=.;database=bosamvs;user=sa;pwd=123456;");//连接数据库
            SqlCommand cmd = student.CreateCommand();//创建数据库命令
            cmd.CommandText = "select*from student";//输入查询命令
            student.Open();//打开数据库
            SqlDataReader table = cmd.ExecuteReader();//读取数据库内容
            if (table.HasRows)//判断是否为空
            {
                while (table.Read())//读取一行
                {
                    string date = Convert.ToDateTime(table["Birth"]).ToString("yyyy年MM月dd日");
                    string sex = ((bool)table["Sex"]) ? "男" : "女";
                    string grade = ((decimal)table["Score"]).ToString("#.##");
                    Console.WriteLine("学号:{0}\t姓名:{1}\t生日:{2}\t性别:{3}\t成绩:{4}", table["Code"], table["Name"], date, sex, grade);
                }
            }
            student.Close();//关闭数据库
            #endregion
            for (int i = 1; i > 0;i++ )
            {
                #region 2.请输入你想要做的操作(1:添加,2:删除,3:修改):
                Console.Write("请选择操作:1.添加数据;2.删除数据;3.修改数据。");//选择操作内容
                int num = int.Parse(Console.ReadLine());
                #region Add
                if (num == 1)//判断操作内容
                {
                    Console.WriteLine("请输入添加内容:");
                    Console.Write("请输入学号:");
                    string scode = Console.ReadLine();
                    Console.Write("请输入姓名:");
                    string sname = Console.ReadLine();
                    DateTime sbirth = DateTime.Now;
                    while(true)
                    {
                        try//判断输入日期格式
                        {
                            Console.Write("请输入生日:");
                            sbirth = Convert.ToDateTime(Console.ReadLine());
                            break;
                        }
                        catch
                        {
                            Console.Write("输入格式不对,请重新输入!");
                            Console.WriteLine();
                        }
                    }
                    Console.Write("请输入性别:");
                    string sex = Console.ReadLine();
                    bool ssex = false;
                    if (sex == "男")//将男,女赋bool值
                    {
                        ssex = Convert.ToBoolean("true");
                    }
                    else if (sex == "女")
                    {
                        ssex = Convert.ToBoolean("false");
                    }
                    Console.Write("请输入成绩:");
                    decimal sscore = decimal.Parse(Console.ReadLine());
                    SqlCommand cmdadd = student.CreateCommand();//创建数据库操作命令
                    cmdadd.CommandText = "insert into student values(" + scode + ",‘" + sname + "‘,‘" + sbirth + "‘,‘" + ssex + "‘," + sscore + ")";//输入添加命令
                    student.Open();
                    cmdadd.ExecuteNonQuery();//执行数据库命令
                    Console.Clear();//清屏
                    Console.WriteLine("添加成功!");
                    student.Close();
                }
                #endregion
                #region Delete
                else if (num == 2)
                {
                    Console.Write("请输入删除学生学号:");
                    string scode = Console.ReadLine();
                    SqlCommand cmddel = student.CreateCommand();
                    cmddel.CommandText = "delete from student where code=" + scode;//输入删除命令
                    try//判断命令是否执行成功
                    {
                        student.Open();
                        cmddel.ExecuteNonQuery();//执行命令
                        Console.Clear();
                        Console.WriteLine("删除成功!");
                    }
                    catch
                    {
                        Console.WriteLine("删除失败!");
                    }
                    finally
                    {
                        student.Close();
                    }
                }
                #endregion
                #region Update
                else if (num == 3)
                {
                    Console.WriteLine("请输入修改内容:");
                    Console.Write("请输入要修改的学号:");
                    string scode = Console.ReadLine();
                    Console.Write("请输入更改后的姓名:");
                    string sname = Console.ReadLine();
                    DateTime sbirth = DateTime.Now;
                    while (true)
                    {
                        try
                        {
                            Console.Write("请输入更改后的生日:");
                            sbirth = Convert.ToDateTime(Console.ReadLine());
                            break;
                        }
                        catch
                        {
                            Console.Write("输入格式不对,请重新输入!");
                            Console.WriteLine();
                        }
                    }
                    Console.Write("请输入更改后的性别:");
                    string sex = Console.ReadLine();
                    bool ssex = false;
                    if (sex == "男")
                    {
                        ssex = Convert.ToBoolean("true");
                    }
                    else if (sex == "女")
                    {
                        ssex = Convert.ToBoolean("false");
                    }
                    Console.Write("请输入更改后的成绩:");
                    decimal sscore = decimal.Parse(Console.ReadLine());
                    SqlCommand cmdadd = student.CreateCommand();
                    cmdadd.CommandText = "update student set Name=‘" + sname + "‘,Birth=‘" + sbirth + "‘,Sex=‘" + ssex + "‘,Score=" + sscore + "where Code=" + scode;//输入添加命令
                    student.Open();
                    cmdadd.ExecuteNonQuery();//执行命令
                    Console.Clear();
                    Console.WriteLine("修改成功!");
                    student.Close();
                }
                #endregion
                #endregion
                #region 3.提示用户操作是否成功,刷新数据,回到2等待用户操作
                cmd.CommandText = "select*from student";
                student.Open();
                SqlDataReader table1 = cmd.ExecuteReader();
                if (table1.HasRows)
                {
                    while (table1.Read())
                    {
                        string date = Convert.ToDateTime(table1["Birth"]).ToString("yyyy年MM月dd日");
                        string sex = ((bool)table1["Sex"]) ? "男" : "女";
                        string grade = ((decimal)table1["Score"]).ToString("#.##");
                        Console.WriteLine("学号:{0}\t姓名:{1}\t生日:{2}\t性别:{3}\t成绩:{4}", table1["Code"], table1["Name"], date, sex, grade);
                    }
                }
                student.Close();
                Console.WriteLine();
                #endregion
            }
            Console.ReadLine();

时间: 2024-12-18 16:22:24

ADO.Net1的相关文章

20.2015.8.12第二十二课ado.net1,2(增删改查代码)

//demo.aspx.cs登陆页面代码using System; using System.Collections.Generic; using System.Configuration; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data.SqlClient; namespace web20150811 { public par

ADO.NET学习系列(一)

一.ADO.NET基础 程序和数据库交互,要通过ADO.NET进行:通过ADO.NET就能在数据库中执行SQL了.ADO.NET中提供了对不同数据库的统一操作接口(ODBC).另外还有一种操作数据库的接口是JDBC. ADO.NET中通过SqlConnection类创建到SQL Server的链接,Sqlconnection代表一个数据库的链接,ADO.NET中的链接等资源都实现了IDisposable接口. 实现了IDisposable接口的对象,在使用完了,要进行资源的释放.调用Dispos

c#事务用法

 /////ado.net1.0中使用Transacation(事务)string connectionString = "database=Northwind;pwd=admin;uid=sa;server=DATABASE-VPC\\SQL2005";using (SqlConnection conn = new SqlConnection(connectionString)){ conn.Open(); SqlTransaction transaction = conn.Begi

ADO.NET 新特性之SqlBulkCopy(批量插入大量数据)

转自:http://blog.csdn.net/huaer1011/article/details/2312361 在.Net1.1中无论是对于批量插入整个DataTable中的所有数据到数据库中,还是进行不同数据源之间的迁移,都不是很方便.而在.Net2.0中,SQLClient命名空间下增加了几个新类帮助我们通过DataTable或DataReader批量迁移数据.数据源可以来自关系数据库或者XML文件,甚至WebService返回结果.其中最重要的一个类就是SqlBulkCopy类,使用它

ODBC、ADO

一.VC访问数据库的技术 1.ODBC --Open Database Connectivity微软开放式数据互联,一组用于访问和操作数据库的API,可以访问不同的数据库产品,但只能访问关系型数据库.MFC将这组API函数封装成ODBC类,使用前需要将不同的数据库设置为ODBC数据源. 2.DAO --基于ODBC的,目前已经被淘汰 3.OLE DB  --基于COM技术的,提供了一组用于访问和操作数据库的接口.既可以访问关系型又可以访问非关系型数据,性能也有了很大提高.缺点是学习难度大,对程序

一种利用ADO连接池操作MySQL的解决方案(VC++)

VC++连接MySQL数据库 常用的方式有三种:ADO.mysql++,mysql API ; 本文只讲述ADO的连接方式. 为什么要使用连接池? 对于简单的数据库应用,完全可以先创建一个常连接(此连接永远不关闭,直接数进程退出),但是这样做至少会引起两个问题:(1)资源竞争,多个数据库请求操作不能同时进行,后一请求必须要等到前一请求完成后才能进行:(2)多线程情况下容易出现混乱,甚至出现资源异常释放.还有一种方法,就是使用数据库时创建连接,使用完后关闭连接回收资源.这种方式在数据库操作频繁的情

巩固ADO.NET

回想一年半前学数据库的时候是找的培训视频看的,大概10天视频(有一半多时间关于数据库操作的winform)的内容看完后数据库这块就没有了,还以为自己学的挺好,现在想想真是傻的可爱.虽然以ADO.NET为基础的EF挺好用的,但抽时间好好巩固下基础我觉得很重要.不废话了,ADO.NET提供对SQL.Oracle和MySql等数据库的访问操作,它有2个重要的组成部分:.NET数据提供程序和数据集DataSet. 1.什么是ADO.NET .NET数据提供程序就是一个类集,本质的功能就是用于连接数据库.

CRUD Operations In ASP.NET MVC 5 Using ADO.NET

Background After awesome response of an published by me in the year 2013: Insert, Update, Delete In GridView Using ASP.Net C#. It now has more than 140 K views, therefore to help beginners I decided to rewrite the article i with stepbystep approach u

异常:error 0152: No Entity Framework provider found for the ADO.NET provider with invariant name 'System.Data.SqlClient'

error 0152: No Entity Framework provider found for the ADO.NET provider with invariant name 'System.Data.SqlClient' error 0152: No Entity Framework provider found for the ADO.NET provider with invariant name 'System.Data.SqlClient'. Make sure the pro