C#调用存储过程,数据表名在哪里设置

.Net技术 码拜 8年前 (2016-03-01) 1365次浏览
本人需要C#调用存储过程,但是实在不清楚,也没看见设置数据表明,数据库是怎么知道要写入哪一个数据表中呢?

string strConnection = "user id=sa;password=sa;initial catalog=MyTest;Server=YHB;Connect Timeout=30";
            using (SqlConnection conn = new SqlConnection(strConnection))
            {
                conn.Open();
                using (SqlCommand sqlComm = conn.CreateCommand())
                {
                    //设置要调用的存储过程的名称
                    sqlComm.CommandText = "GetPWD";
                    //指定SqlCommand对象传给数据库的是存储过程的名称而不是sql语句
                    sqlComm.CommandType = CommandType.StoredProcedure;
                    SqlParameter username = sqlComm.Parameters.Add(new SqlParameter("@username", SqlDbType.VarChar, 20));
                    //指明"@username"是输入参数
                    username.Direction = ParameterDirection.Input;
                    //为“@username”参数赋值
                    username.Value = this.txt_username.Text;
                    SqlParameter password = sqlComm.Parameters.Add(new SqlParameter("@password", SqlDbType.VarChar, 20));
                    //指定"@password"为输出参数
                    password.Direction = ParameterDirection.Output;
                    //执行
                    sqlComm.ExecuteNonQuery();
                    //得到输出参数的值,把赋值给name,注意,这里得到的是object类型的,要进行相应的类型轮换
                    string passwrod = Convert.ToString(sqlComm.Parameters["@password"].Value);
                    MessageBox.Show(passwrod);
                }
            }
解决方案

2

CREATE PROCEDURE ProGetPWD
@username varchar(20),
@password varchar(20) OUTPUT
AS
BEGIN
SELECT @password = password
FROM Users
WHERE username = @username
END
这不就是表名吗?
再说,这是查询,哪来的 写入哪一个数据表

30

表名在存储过程中, C# 代码中就不需要写了,也无法写

18

本人晕啊,意思理解错误啦,浪费啊~!
sp_depends
https://msdn.microsoft.com/zh-cn/library/ms189487(v=sql.110).aspx

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C#调用存储过程,数据表名在哪里设置
喜欢 (0)
[1034331897@qq.com]
分享 (0)