VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 558|回复: 3

请教如何执行insert的sqlserver存储过程!

[复制链接]

1

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-1-31 19:20:01 | 显示全部楼层 |阅读模式
我正在学习使用sqlserver的存储过程,向数据库中插入一条数据,我的数据表中就两项,
ticketID(自增), ticketName
我写的存储过程:
CREATE PROCEDURE AddSpecialTicket @zw ticketName(200) AS
insert into SpecialTicket (ticketName) values (@ticketName)

请教我用c#+asp.net如何执行这条存储过程!我刚刚开始学习,看了许多书照着写就是不行(书上说用SqlDateAdapter),请详细的列出步骤!谢谢.
回复

使用道具 举报

1

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
 楼主| 发表于 2020-3-11 10:15:01 | 显示全部楼层
我听说用存储过程是良好的编程习惯,也是比较规范的编程方法,但我感觉这也太麻烦了.太影响工作效率了,每次的手工写存储过程,然后执行(那些参数还要设置来设置去),真是不如直接写sql然后执行来的快.
比如上面的我用sql直接做:
string sql="INSERT INTO SpecialTicket (ticketName) VALUES ("'"+ title.Text +"')";
SqlCommand myCommand = new SqlCommand(sql,myConnection);
myConnection.Open();
myCommand.ExecuteNonQuery();
myConnection.Close();
回复

使用道具 举报

2

主题

5

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-3-11 21:30:01 | 显示全部楼层
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了,
回复

使用道具 举报

2

主题

5

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-3-12 06:30:01 | 显示全部楼层
以上这个是有返回的,这个没!~
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();

    }
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表