我正在学习使用sqlserver的存储过程,向数据库中插入一条数据,我的数据表中就两项,
ticketID(自增), ticketName
我写的存储过程:
CREATE PROCEDURE AddSpecialTicket @zw ticketName(200) AS
insert into SpecialTicket (ticketName) values (@ticketName)请教我用c#+asp.net如何执行这条存储过程!我刚刚开始学习,看了许多书照着写就是不行(书上说用SqlDateAdapter),请详细的列出步骤!谢谢.

解决方案 »

  1.   

    我听说用存储过程是良好的编程习惯,也是比较规范的编程方法,但我感觉这也太麻烦了.太影响工作效率了,每次的手工写存储过程,然后执行(那些参数还要设置来设置去),真是不如直接写sql然后执行来的快.
    比如上面的我用sql直接做:
    string sql="INSERT INTO SpecialTicket (ticketName) VALUES ("'"+ title.Text +"')";
    SqlCommand myCommand = new SqlCommand(sql,myConnection);
    myConnection.Open();
    myCommand.ExecuteNonQuery();
    myConnection.Close();
      

  2.   

    public DataSet ReturnDataSet(string proc, SqlParameter[] paramlist)
        {
            SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["AdsysConnectionString"].ConnectionString);
            conn.Open();
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = conn;        
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.CommandText = proc;
            if (paramlist != null && paramlist.Length > 0)
            {
                foreach (SqlParameter param in paramlist)
                {
                    cmd.Parameters.Add(param);
                }
            }
            SqlDataAdapter ada = new SqlDataAdapter(cmd);
            DataSet ds = new DataSet();
            ada.Fill(ds);
            conn.Close();
            return ds;    }在实体类写个方法,直接把参数列表和存储过程名字进来就OK了,
      

  3.   

    以上这个是有返回的,这个没!~
     public void ExeuteNoQuery(string proc, SqlParameter[] paramlist)
        {
            SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["AdsysConnectionString"].ConnectionString);
            conn.Open();
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = conn;
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.CommandText = proc;        if(paramlist!=null && paramlist.Length>0)
            {
                foreach(SqlParameter param in paramlist)
                {
                    cmd.Parameters.Add(param);
                }
            }
            cmd.ExecuteNonQuery();
            conn.Close();    }