VerySource

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

执行存储过程没有效果,但是也不报错,但是存储过程在查询分析器里面执行正常

[复制链接]

1

主题

60

帖子

37.00

积分

新手上路

Rank: 1

积分
37.00
发表于 2020-1-31 09:40:01 | 显示全部楼层 |阅读模式
public  void  JiSuanZongHe(string faid,string bjid,string xsid)
        {
            string connectionString = ConfigurationSettings.AppSettings["CrmSqlConnect"];
            string error = "";
            SqlConnection m_conn = new SqlConnection(connectionString);
            m_conn.Open();
            SqlCommand m_com = new SqlCommand("P_JISUAN_ZHCJ '"+faid+"','"+bjid+"','"+xsid+"','"+error+"'", m_conn);
            m_com.CommandType = CommandType.Text;


            m_com.ExecuteNonQuery();
            m_conn.Close();


        }

回复

使用道具 举报

2

主题

5

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-3-10 19:15:01 | 显示全部楼层
可能Command那吧,我也才学,你看看我的,这个
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();

    }

在实体类写个方法 调用这个方法,传参数列表和存储过程名字 就可以了。!
回复

使用道具 举报

1

主题

5

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-3-10 22:30:01 | 显示全部楼层
你写错了啊
回复

使用道具 举报

1

主题

5

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-3-10 23:30:02 | 显示全部楼层
cmd.CommandType = CommandType.StoredProcedure;
回复

使用道具 举报

0

主题

29

帖子

16.00

积分

新手上路

Rank: 1

积分
16.00
发表于 2020-3-11 13:30:01 | 显示全部楼层
("P_JISUAN_ZHCJ '"+faid+"','"+bjid+"','"+xsid+"','"+error+"'",)
字符串连接有问题吧..
回复

使用道具 举报

0

主题

29

帖子

16.00

积分

新手上路

Rank: 1

积分
16.00
发表于 2020-3-11 19:45:02 | 显示全部楼层
不要这么写faid,bjid,xsid参数传进去都变字符型的了,你的参数应是整型吧..
sql执行时.参数都是字符串吗?类似:
exec P_JISUAN_ZHCJ 'faid','bjid','error'
回复

使用道具 举报

1

主题

60

帖子

37.00

积分

新手上路

Rank: 1

积分
37.00
 楼主| 发表于 2020-3-12 11:00:02 | 显示全部楼层
不是的P_JISUAN_ZHCJ 是存储过程的名字

'"+faid+"'是字符串
回复

使用道具 举报

0

主题

29

帖子

16.00

积分

新手上路

Rank: 1

积分
16.00
发表于 2020-3-12 16:00:01 | 显示全部楼层
我知道,我的意思是你的参数都不是整型的吗?都是字符型的?
回复

使用道具 举报

0

主题

5

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-3-12 18:45:01 | 显示全部楼层
是不是这个写错了:m_com.CommandType = CommandType.Text;
是不是应该这样写的啊:cmd.CommandType = CommandType.StoredProcedure;
回复

使用道具 举报

1

主题

60

帖子

37.00

积分

新手上路

Rank: 1

积分
37.00
 楼主| 发表于 2020-3-12 21:00:01 | 显示全部楼层
对,都是字符型的
回复

使用道具 举报

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

本版积分规则

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

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