加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

C#内嵌sql语句的具体用法DataSet/MySqlDataReader类的使用

(2012-07-26 11:46:10)
标签:

c

内嵌sql

it

分类: C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MySql.Data.MySqlClient;
using System.Data;
using System.IO;

namespace ConsoleApplication1
{
    class Program
    {
        public static bool RunCommand(MySqlCommand icmd, string strCommend)
        {
            try
            {
                icmd.CommandText = strCommend;
                icmd.ExecuteNonQuery();
            }
            catch (System.Exception e)
            {
                return false;
            }
            return true;

        }
        static void Main(string[] args)
        {
            string ConnectionString = "Database=test;Data Source=localhost;User Id=root;Password=";//其中localhost表示连接本地数据库 改为相应的Id则可以实现远程连接

            MySqlConnection dbconn  = new MySqlConnection(ConnectionString);//连接MySQL数据库
          
            MySqlCommand cmd = dbconn.CreateCommand();

            cmd.Connection.Open();
            cmd.CommandType = CommandType.Text;
            if ( RunCommand(cmd, "select * from MyTable1 where 1 = 1 ") )
            {
                RunCommand(cmd, "drop table mytable1" );                                                //删除表格
                RunCommand(cmd, "set names 'gb2312' / 'utf8' ");
                RunCommand(cmd,"create table MyTable1( name varchar(20),sex varchar(20),age int(3) ) ");//新建表
                RunCommand(cmd,"Alter table MyTable1 add primary key(name)");                           //添加主键
                RunCommand(cmd, "Alter table MyTable1 drop  primary key");                              //删除主键
                RunCommand(cmd, "insert into MyTable1( name, sex, age ) values('李雷','男','20')");     //插入数据
                RunCommand(cmd, "delete from MyTable1 where name = '李雷' ");                           //删除数据
                RunCommand(cmd, "insert into MyTable1( name, sex, age ) values('李雷','男','20')");     //插入数据
                RunCommand(cmd, "update MyTable1   set age = 22 where name = '李雷'");                  //修改数据
            }
            else
            {
                RunCommand(cmd, "set names 'gb2312' / 'utf8' ");
                RunCommand(cmd, "create table MyTable1( name varchar(20),sex varchar(20),age int(3) ) ");   //新建表
                RunCommand(cmd, "Alter table MyTable1 add primary key(name)");                              //添加主键
                RunCommand(cmd, "Alter table MyTable1 drop  primary key");                                  //删除主键
                RunCommand(cmd, "insert into MyTable1( name, sex, age ) values('李雷','男','20')");         //插入数据
                RunCommand(cmd, "delete from MyTable1 where name = '李雷' ");                               //删除数据
                RunCommand(cmd, "insert into MyTable1( name, sex, age ) values('李雷','男','20')");         //插入数据
                RunCommand(cmd, "update MyTable1   set age = 22 where name = '李雷'");                      //修改数据
            }

            string filePath =  "d:\\tmp\\tl.sql";
            //将数据导出
            if (File.Exists(filePath))
            {
                File.Delete(filePath);
                RunCommand(cmd, "select * from MyTable1 where 1=1 into outfile 'd:/tmp/tl.sql'");
            }
            else
            {
                RunCommand(cmd, "select * from MyTable1 where 1=1 into outfile 'd:/tmp/tl.sql'");
            }

            //用DataSet获取数据
            //////////////////////////////////////////////////////////////////////////

            MySqlDataAdapter da = new MySqlDataAdapter("select * from MyTable1 where 1 = 1 ", dbconn);
            DataSet MyDataSet = new DataSet();
            da.Fill(MyDataSet);
            DataTable tbl = MyDataSet.Tables[0];//获取第一张表
           
            foreach (DataColumn col in tbl.Columns)
            {
                Console.WriteLine(col.ColumnName);//打印列名
            }
            DataRow irow = tbl.Rows[0];

            Console.WriteLine(irow["name"]);//打印name列的数据
            Console.WriteLine(irow["age"]);
            Console.WriteLine(irow["sex"]);

            tbl = irow.Table;

            foreach (DataColumn col in tbl.Columns)
            {
                Console.WriteLine(irow[col]);//循环打印某行数据
            }
            //用MySqlDataReader获取数据
            //////////////////////////////////////////////////////////////////////////

            MySqlDataReader reader;
            cmd.CommandText = "select * from MyTable1 where 1 = 1 ";
            reader = cmd.ExecuteReader();
            while(reader.Read())
            {
                Console.WriteLine(reader["age"].ToString());
                Console.WriteLine(reader["name"].ToString());
                Console.WriteLine(reader["sex"].ToString());
               
            }
           
            while (true)
            {
            }
            reader.Close();
            cmd.Dispose();
            dbconn.Close();

        }
    }
}

执行结果
http://s9/middle/7a3da6bcnc5b3ab57dd38&690




0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有