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

比较初级的《增删改查代码》高手绕行

C#和SQL的连接和增删改查       qq群(140540574)c#(bian程)码农世界分享 .

先添加引用
using System.Data;
using System.Data.SqlData;

string conn_str="Data Source=数据库所在的机器名或IP地址;Initial Catalog=连接的数据库名;User ; //连接字符串
SqlConnection conn=new SqlConnection(conn_str);
SqlCommand comm=new SqlCommand("sql语句",conn);
comm.某种方法(); 
--------------------------------------------------------------------------------

经常用到的对象有:SqlConnection,SqlAdapter,SqlCommand、Dataset、DataGrid和DataReader等,以SqlConnection,SqlAdapter,SqlCommand、Dataset、DataGrid对象,操作SQL的实例数据库Northwind中的Categorys表为例说明(假定数据库在本地,数据库访问的用户名为user,密码为123456):
首先引入数据库操作引用:
using System.Data.SqlClient;
第一、查询数据:
string MyConn="server=127.0.0.1;uid=user;pwd=123456;database=Northwind;Trusted_Connection=no";//定义数据库连接参数
SqlConnection MyConnection=new SqlConnection(MyConn);//定义一个数据连接实例
SqlCommand MyCommand=new SqlCommand("SELECT CategoryID, CategoryName, Description FROM Categories",MyConnection); //定义一个数据库操作指令
SqlDataAdapter SelectAdapter=new SqlDataAdapter();//定义一个数据适配器
SelectAdapter.SelectCommand=MyCommand;//定义数据适配器的操作指令
DataSet MyDataSet=new DataSet();//定义一个数据集
MyConnection.Open();//打开数据库连接
SelectAdapter.SelectCommand.ExecuteNonQuery();//执行数据库查询指令
MyConnection.Close();//关闭数据库
SelectAdapter.Fill(MyDataSet);//填充数据集
DataGrid1.DataSource=MyDataSet;
DataGrid1.DataBind();//将数据表格用数据集中的数据填充

第二、添加数据
string MyConn="server=127.0.0.1;uid=user;pwd=123456;database=Northwind;Trusted_Connection=no";
SqlConnection MyConnection=new SqlConnection(MyConn);
string MyInsert="insert into Categories(CategoryName, Description)values('"+Convert.ToString(TextBox2.Text)+"','"+Convert.ToString(TextBox3.Text)+"')";
SqlCommand MyCommand=new SqlCommand(MyInsert,MyConnection);
try//异常处理
{
MyConnection.Open();
MyCommand.ExecuteNonQuery();
MyConnection.Close();
}
catch(Exception ex)
{
Console.WriteLine("{0} Exception caught.", ex);
}

第三、修改数据
string categoryName=TextBox2.Text;
string categoryDescription=TextBox3.Text;
string MyConn="server=127.0.0.1;uid=user;pwd=123456;database=Northwind;Trusted_Connection=no";
SqlConnection MyConnection=new SqlConnection(MyConn);
string MyUpdate="Update Categories set CategoryName='"+categoryName+"',Description='"+categoryDescription+"' where CategoryID="+TextBox1.Text;
SqlCommand MyCommand=new SqlCommand(MyUpdate,MyConnection);
try
{
MyConnection.Open();
MyCommand.ExecuteNonQuery();
MyConnection.Close();
TextBox1.Text="";
}
catch(Exception ex)
{
Console.WriteLine("{0} Exception caught.", ex);
}

第四、删除数据
string MyConn="server=127.0.0.1;uid=user;pwd=123456;database=Northwind;Trusted_Connection=no";
SqlConnection MyConnection=new SqlConnection(MyConn);
string MyDelete="Delete from Categories where CategoryID="+TextBox1.Text;
SqlCommand MyCommand=new SqlCommand(MyDelete,MyConnection);
try
{
MyConnection.Open();
MyCommand.ExecuteNonQuery();
MyConnection.Close();
TextBox1.Text="";
}
catch(Exception ex)
{
Console.WriteLine("{0} Exception caught.", ex);
} --------------------编程问答-------------------- 支持分享。 --------------------编程问答-------------------- --------------------编程问答-------------------- 挺不错的,顶 --------------------编程问答-------------------- 分享好 --------------------编程问答-------------------- 谢分享,我们都是菜鸟开始 --------------------编程问答-------------------- 支持分享哦。 --------------------编程问答-------------------- 我也是菜鸟,虽然SQLHelper神马的微软已经提供了,看到LZ分享,我就小总结了一个简单的数据库操作的公共类。

using System;
using System.Data.SqlClient;
using System.Data;

namespace Test
{
    class SQLHelper
    {
        //定义数据库连接实例
        private static SqlConnection con = CreateCon();

        //创建数据库连接静态方法
        public static SqlConnection CreateCon()
        {
            return new SqlConnection("server=127.0.0.1;database=test;uid=sa;pwd=123456");
        }

        /// <summary>
        /// 获取数据集
        /// </summary>
        /// <param name="sequal">数据库语句</param>
        /// <param name="tableName">数据表名称</param>
        /// <returns>返回数据集</returns>
        public static DataSet ExecuteDataSet(string sequal, string tableName)
        { 
            DataSet ds = new DataSet();
            try
            {
                //打开数据库连接
                con.Open();
                //创建数据库适配器连接
                SqlDataAdapter sda = new SqlDataAdapter(sequal, con);
                //填充数据集
                sda.Fill(ds, tableName);
                //返回数据集
                return ds;
            }catch(Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                con.Close();
            }
        }

        /// <summary>
        /// 执行数据库命令并返回影响条数
        /// </summary>
        /// <param name="sequal">数据库语句</param>
        /// <returns>返回影响条数</returns>
        public static int ExecuteNonQuery(string sequal)
        {
            try
            {
                con.Open();
                //创建数据库操作命令
                SqlCommand cmd = new SqlCommand(sequal, con);
                //返回执行数据库影响条数
                return cmd.ExecuteNonQuery();
            }
            catch (Exception ex1)
            {
                throw new Exception(ex1.Message);
            }
            finally
            {
                con.Close();
            }
        }
    }
}

调用:
             //绑定winfrom中的表格(DataGridView)
            DataSet ds = SQLHelper.ExecuteDataSet("select * from t1", "tableName");
            DataGridView1.DataSource = ds.Tables["tableName"];

            //添加数据
            string str0 = "添加";
            int count0 = SQLHelper.ExecuteNonQuery("insert into t1 (name) values ('" + str0 + "')");
            if (count0 > 0)
                MessageBox.Show("添加了" + count0 + "条数据!");
            //修改数据
            string str1 = "修改";
            int count1 = SQLHelper.ExecuteNonQuery("update t1 set name = '" + str1 + "'");
            if (count0 > 0)
                MessageBox.Show("修改了" + count1 + "条数据!");
            //删除数据
            int count2 = SQLHelper.ExecuteNonQuery("delete from t1");
            if (count2 > 0)
                MessageBox.Show("删除了" + count2 + "条数据!");


参考地址:http://www.cnblogs.com/ghypnus/archive/2012/03/22/2412294.html
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,