zoukankan      html  css  js  c++  java
  • 20090823 22:57 写给初学ado.net编程的朋友们(最基础)

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Data.SqlClient;
    using System.Data;

    //首先要引进两个命名空间 System.Data.sqlClient 以及System.Data 这里有着操作数据库的类

    namespace ado
    {
        class Program
        {
            static void Main(string[] args)
            {

    //既然要操作数据库 ,那么首先就要连接数据库。怎么连接呢? 首先构造连接字符串;

    //对于不同的得数据库有着不同的连接方式,对于同一种数据库,其实也有不同种的连接字符串;

    //我们构造一个最简单的,就是下面的字符串了。这是以sql server 身份进行验证的。具体含义应该不用我说了吧。
                string connectionString = "Server=服务器名; DataBase=数据库名; uid=用户ID;pwd=用户密码";

    //下面我们构造一个最简单的SQL语句,用于测试数据库操作;
                string selectString = "Select * from userInfo Where name Like '%er'";

    //建立连接数据库对象 Sqlconnection,这里是利用构造函数传递连接字符串,也可以用conn的ConnectionString 属性进行连接字符串的设置。
                SqlConnection conn = new SqlConnection(connectionString);
                try
                {
                    conn.Open();//打开数据库连接
                    
                if (conn.State==ConnectionState.Open)// 判断当前连接对象状态
                {
                    Console.WriteLine("连接数据库成功!");

    //我们定义一个sqlcommand对象用来操作数据库;必须要传递给这个对象两个参数。即连接对象以及要SQL语句字符串


                    SqlCommand cmd = new SqlCommand();
                    cmd.Connection = conn;
                    cmd.CommandText = selectString;

    //SqlCommand 对象有4个执行数据库操控函数分别是

    //这里我们用返回一个SqlDataReader 其他的 大家可以查一下MSDN
                    SqlDataReader reader = null;
                    reader = cmd.ExecuteReader();

                    while(reader.Read())
                    {
                        Console.WriteLine("{0}\t{1}\t{2}",reader[1].ToString(),reader[2].ToString(),reader[3].ToString());
                    }

                    reader.Close();//这里要强调一下SqlDataReader对象是独自占有数据库连接,即只要该对象不关闭,其他操作无法进行。

                    SqlDataAdapter ada = new SqlDataAdapter();
                    ada.SelectCommand = cmd;
                    SqlCommandBuilder scb = new SqlCommandBuilder(ada);//这里建立SqlCommandBuilder对象可以自动翻译sql语句,而不用再手动添加类似InsertCommand的东西了;
                    DataTable ds = new DataTable();
                    ada.Fill(ds);//Adapter最有用的方法之一就是fill,把数据放入DataSet 或者是DataTable

    //这里可以添加一些对于ds内数据的修改,例如ds.Tables[0].Rows[0]["Name"]='Peter';


                    ada.Update(ds);//Adapter 另一个关键方法就是update,返回所作修改,更新数据库。
                }
                else
                {
                    Console.WriteLine("连接数据库失败!");
                }

                }
                catch (System.Exception e)
                {
                    Console.WriteLine(e.Message);
                }
                finally
                {
                    conn.Close();
                    if (conn.State==ConnectionState.Closed)
                    {
                        Console.WriteLine("关闭数据库成功!");
                    }

                }
              
            }
        }
    }

    PS:这里我只是介绍了一下简单的ado.net数据库操作。为了使初学者能够尽快理解流程,其实我也是初学者。呵呵 ,大家有任何意见,都可以提的。洗耳恭听之。。。

  • 相关阅读:
    修改版的jsonView,加入了PHP的反序列化
    CSBlogV2公测发布,欢迎大家下载试用体验.
    C#里使用Oracle提供的Oracle.DataAccess 返回包里的记录集游标,含Oralce里的分页包代码
    用一个示例方法来初始理解ManualResetEvent的用法。
    Head First 设计模式阅读所得:策略模式(Strategy Pattern) 接口的用处(之一)
    延时至调用时获取被反序列化数据的类型的实现
    权限设计中的"依赖颠倒"
    CSCMSV1终于上线内测了[广告贴]
    Windows Service 使用参数安装DEMO,可使用控制台启动方式进行调试,服务安装完后立即启动
    使用assembly.GetExportedTypes();方法时引发动:态程序集中不支持已调用的成员的异常
  • 原文地址:https://www.cnblogs.com/ruishuang208/p/3119192.html
Copyright © 2011-2022 走看看