ADO.NET对SqlServer进行简单的增删改查

对数据库进行增删改查,首先想到的应该就是连接字符串了。

我们的连接字符串是由"Server=地址(本机=local);Database=数据库名称;User Id=登陆用户名;Password=密码" ;当然连接字符串中的属性不可能就这么点,我们这篇随笔不在这里进行系统学习,小人准备专门写一篇关于连接字符串的随笔。

然后我们开始看下面代码

引用命名空间 using system.data.SqlClient

  /// <summary>
        ////// </summary>
        /// <returns></returns>
        public void ExecuteReader(string connectionString)
        {
            //sql语句
            string sqlString = "select * from Employee where Name=@Name";
           //在SqlConnection的using块内打开 ,这可确保在代码退出时关闭和释放资源。
            using (SqlConnection sqlConnection = new SqlConnection(connectionString))
            {
                SqlCommand sqlCommand = new SqlCommand(sqlString, sqlConnection);
                //CommandType=StoredProcedure,IDbCommand.CommandText 属性应设置为要访问的存储过程的名称。
                //CommandType=TableDirect,IDbCommand.CommandText 属性应设置为要访问的表的名称。只有用于 OLE DB 的 .NET Framework 数据提供程序才支持 TableDirect,将 IDbCommand.CommandType 设置为 TableDirect时不支持多个表访问。
                //CommandType默认为Text,SQL 文本命令。
                sqlCommand.CommandType = CommandType.Text;
                sqlCommand.CommandText = sqlString;
                sqlCommand.Parameters.AddWithValue("@Name", "zsk");
                try
                {
                    sqlConnection.Open();
                    SqlDataReader reader = sqlCommand.ExecuteReader();
                    while (reader.Read())
                    {
                        Console.WriteLine("\t{0}\t{1}\t{2}",
                            reader[0], reader[1], reader[2]);
                    }
                    reader.Close();
                }
                catch (Exception ex)
                {

                    Console.WriteLine(ex.Message);
                }
            }
        }

这里的SqlDataReader提供一种从 SQL Server 数据库中读取只进的行流的方式。若要创建必须调用SqlCommand对象的 ExecuteReader 方法,而不是直接使用构造函数。

 public void ExecuteNonQuery(string connectionString)
        { 
        string SqlString = "insert into Employee(Name, Age) values(@Name, @Age)";
            //建立连接
            using (SqlConnection sqlConnection = new SqlConnection(connectionString))
            {
                SqlCommand sqlCommand = new SqlCommand(SqlString, sqlConnection);
                sqlCommand.Parameters.AddWithValue("@Name","zm");
                sqlCommand.Parameters.AddWithValue("@Age", 21);
                try
                {
                    sqlConnection.Open();
                    ///返回受影响行数
                    int row = sqlCommand.ExecuteNonQuery();
                    if (row>0)
                    {
                        Console.WriteLine("添加成功");
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);


                }
            }
        }

上面代码中使用的是SqlCommand的ExecuteNonQuery方法,这个方法提供的是返回受影响行数,可以用于大部分简单的增删改。

ADO.NET还为提供了一个SqlDataAdapter类,DataSet 和 SQL Server 之间充当检索和保存数据的桥梁。 SqlDataAdapter 通过映射 Fill来提供此桥。

 

ADO.NET对SqlServer进行简单的增删改查

上一篇:SQL优化


下一篇:手把手让你实现开源企业级web高并发解决方案(lvs+heartbeat+varnish+nginx+eAccelerator+memcached)