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);
}

解决方案 »

  1.   

    我也是菜鸟,虽然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