当前位置:编程学习 > C#/ASP.NET >>

又来求问了,自学C#不知道怎么操作数据库

 bool isExist = false;
            string cnt = new MySQLConnectionString("localhost", "studentbasedata", "root", "sunmingshi", 3306).AsString;
            using (MySQLConnection c = new MySQLConnection(cnt))
            {
                c.Open();
                MySQLCommand msc = (MySQLCommand)c.CreateCommand();
                msc.CommandText = "select name,password from master";//这里会读到master里所有的名字和密码吗??
                using (MySQLDataReader msdr =(MySQLDataReader) msc.ExecuteReader(CommandBehavior.CloseConnection))
                {
                    MySQLDataAdapter msda = new MySQLDataAdapter(msc.CommandText, c);
                    DataTable dt = new DataTable(); 
                    msda.Fill(dt);//
                    MySQLDataReader reader = (MySQLDataReader)msc.ExecuteReader();

                   while (msdr.Read())
                    {
                        int i = 0;
                        string str = msdr.GetValue(i).ToString();//这里也不懂了
                        if (id.Text == str)//如果存在和输入id相同的name,就去比较密码
                            {
                                isExist = true;
                                MessageBox.Show(isExist.ToString()+str, "Get It");
                                break;
                            }
                        else//如果检索之后不存在该怎么做?
                            {
                                //MessageBox.Show("Don't Exist!", "Null");
                                //break;
                            }
                        i++;
                    }
                }
                

现在还弄不明白怎么取出MySQL里的数据,我想做的就是一个登陆程序,把输入的账号密码和数据库里的匹配,如果匹配到就登陆成功。
不过不知道怎么去匹配了,我写的上面的代码,每次只能取到name的值取不到password的值。
自学的百度了也没找到该怎么做,请大家帮帮忙吧。有示例代码也行,先谢过了!! --------------------编程问答--------------------

 DataTable dt = new DataTable(); 
                    msda.Fill(dt);//还有这个DataTable怎么用啊?
--------------------编程问答-------------------- 先了解 
连接数据库
然后 了解
数据库的 增删改查
然后 
了解
C# 连接数据库 等对象操作的方法
就可以开发一套程序了 --------------------编程问答--------------------
直接上代码

using System;
using System.Configuration;
using System.Collections;
using System.Data;
using MySql.Data;
using MySql.Data.MySqlClient;
namespace MyData
{
    /// <summary>
    /// 通用数据库类MySQL 
    /// </summary>
    public class Class_mysql_conn
    {
        //public static string ConnStr = @"server=数据库;uid=帐号;pwd=密码;database=数据库;charset=utf8";
        public static string ConnStr = "";//MyData.Properties.Settings.Default.my_soft_mysqlConn + "pwd=密码;charset=utf8;";

        //打开数据库链接
        public static MySqlConnection Open_Conn(string ConnStr)
        {
            MySqlConnection Conn = new MySqlConnection(ConnStr);
            Conn.Open();
            return Conn;
        }
        //关闭数据库链接
        public static void Close_Conn(MySqlConnection Conn)
        {
            if (Conn != null)
            {
                Conn.Close();
                Conn.Dispose();
            }
            GC.Collect();
        }

        //运行MySql语句
        public static int Run_SQL(string SQL, string ConnStr)
        {
            MySqlConnection Conn = Open_Conn(ConnStr);
            MySqlCommand Cmd = Create_Cmd(SQL, Conn);
            try
            {
                int result_count = Cmd.ExecuteNonQuery();
                Close_Conn(Conn);
                return result_count;
            }
            catch
            {
                Close_Conn(Conn);
                return 0;
            }
        }
        // 生成Command对象 
        public static MySqlCommand Create_Cmd(string SQL, MySqlConnection Conn)
        {
            MySqlCommand Cmd = new MySqlCommand(SQL, Conn);
            return Cmd;
        }
        // 运行MySql语句返回 DataTable
        public static DataTable Get_DataTable(string SQL, string ConnStr, string Table_name)
        {
            MySqlDataAdapter Da = Get_Adapter(SQL, ConnStr);
            DataTable dt = new DataTable(Table_name);
            Da.Fill(dt);
            return dt;
        }
        // 运行MySql语句返回 MySqlDataReader对象
        public static MySqlDataReader Get_Reader(string SQL, string ConnStr)
        {
            MySqlConnection Conn = Open_Conn(ConnStr);
            MySqlCommand Cmd = Create_Cmd(SQL, Conn);
            MySqlDataReader Dr;
            try
            {
                Dr = Cmd.ExecuteReader(CommandBehavior.Default);
            }
            catch
            {
                throw new Exception(SQL);
            }
            Close_Conn(Conn);
            return Dr;
        }

        // 运行MySql语句返回 MySqlDataAdapter对象 
        public static MySqlDataAdapter Get_Adapter(string SQL, string ConnStr)
        {
            MySqlConnection Conn = Open_Conn(ConnStr);
            MySqlDataAdapter Da = new MySqlDataAdapter(SQL, Conn);
            return Da;
        }

        // 运行MySql语句,返回DataSet对象
        public static DataSet Get_DataSet(string SQL, string ConnStr, DataSet Ds)
        {
            MySqlDataAdapter Da = Get_Adapter(SQL, ConnStr);
            try
            {
                Da.Fill(Ds);
            }
            catch (Exception Err)
            {
                throw Err;
            }
            return Ds;
        }
        // 运行MySql语句,返回DataSet对象
        public static DataSet Get_DataSet(string SQL, string ConnStr, DataSet Ds, string tablename)
        {
            MySqlDataAdapter Da = Get_Adapter(SQL, ConnStr);
            try
            {
                Da.Fill(Ds, tablename);
            }
            catch (Exception Ex)
            {
                throw Ex;
            }
            return Ds;
        }
        // 运行MySql语句,返回DataSet对象,将数据进行了分页
        public static DataSet Get_DataSet(string SQL, string ConnStr, DataSet Ds, int StartIndex, int PageSize, string tablename)
        {
            MySqlConnection Conn = Open_Conn(ConnStr);
            MySqlDataAdapter Da = Get_Adapter(SQL, ConnStr);
            try
            {
                Da.Fill(Ds, StartIndex, PageSize, tablename);
            }
            catch (Exception Ex)
            {
                throw Ex;
            }
            Close_Conn(Conn);
            return Ds;
        }
        // 返回MySql语句执行结果的第一行第一列
        public static string Get_Row1_Col1_Value(string SQL, string ConnStr)
        {
            MySqlConnection Conn = Open_Conn(ConnStr);
            string result;
            MySqlDataReader Dr;
            try
            {
                Dr = Create_Cmd(SQL, Conn).ExecuteReader();
                if (Dr.Read())
                {
                    result = Dr[0].ToString();
                    Dr.Close();
                }
                else
                {
                    result = "";
                    Dr.Close();
                }
            }
            catch
            {
                throw new Exception(SQL);
            }
            Close_Conn(Conn);
            return result;
        }

    }
}
--------------------编程问答--------------------
引用 3 楼 yanggangqiang520 的回复:
直接上代码
C# code?12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697……

谢谢你!!! --------------------编程问答--------------------
引用 4 楼 a361554048 的回复:
Quote: 引用 3 楼 yanggangqiang520 的回复:

直接上代码
C# code?12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697……

谢谢你!!!

好犀利的骂人啊 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 看下ADO.NET --------------------编程问答-------------------- 楼主应该认真系统的学习下 --------------------编程问答-------------------- 你可以到我的下载里,有一本 C# SQL 的书,并且有源码,你都下载来看吧。 --------------------编程问答-------------------- --------------------编程问答--------------------
引用 5 楼 jiaoshiyao 的回复:
Quote: 引用 4 楼 a361554048 的回复:

Quote: 引用 3 楼 yanggangqiang520 的回复:

直接上代码
C# code?12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697……

谢谢你!!!

好犀利的骂人啊
??????????????????????不解 --------------------编程问答--------------------
引用 11 楼 jiancixiuxian 的回复:
Quote: 引用 5 楼 jiaoshiyao 的回复:

Quote: 引用 4 楼 a361554048 的回复:

Quote: 引用 3 楼 yanggangqiang520 的回复:

直接上代码
C# code?12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697……

谢谢你!!!

好犀利的骂人啊
??????????????????????不解

不带脏字 攻心的 --------------------编程问答-------------------- 判断帐号密码是否存在,应该select count(*) from 表明 where user=用户名 and pass=密码
不应该 先查帐号是否存在  再查密码是否正确 --------------------编程问答--------------------
引用 12 楼 jiaoshiyao 的回复:
Quote: 引用 11 楼 jiancixiuxian 的回复:

Quote: 引用 5 楼 jiaoshiyao 的回复:

Quote: 引用 4 楼 a361554048 的回复:

Quote: 引用 3 楼 yanggangqiang520 的回复:

直接上代码
C# code?12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697……

谢谢你!!!

好犀利的骂人啊
??????????????????????不解

不带脏字 攻心的
是你自己搞错了,人家哪有骂人哦,引用显示的就是代码的行数啊
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,