单纯地记录一下遇到的 不像问题的 小问题。
前提
工具:VS2019 SQL SERVER
内容:计算 用户在ListBox1中选中的表的总条数 (表名为中文)
C#代码
string sqlconn = "server=127.0.0.1;database=test;uid=sa;password=123456";
SqlConnection conn = new SqlConnection();
conn.ConnectionString = sqlconn;
conn.Open();
//声明调用存储过程,且存储过程的名字为 test
SqlCommand cmd = new SqlCommand("test",conn);
cmd.CommandType = CommandType.StoredProcedure;
//添加输入参数 注:"@变量名"必须与存储过程中调用的变量名一致
cmd.Parameters.Add("@tableName",SqlDbType.VarChar).Value = ListBox1.SelectedItem;
//添加输出参数
SqlParameter output = cmd.Parameters.Add("@sum",SqlDbType.Int);
output.Direction = ParameterDirection.Output;
//必不可少
cmd.ExecuteNonQuery();
conn.Close();
存储过程代码
CREATE PROCEDURE test
@tableName varchar(100),
@sum int out
AS
BEGIN
declare @sql nvarchar(200)
set @sql = 'select @i=count(*) from ' + @tableName
exec sp_executesql @sql,N'@i int out',@sum out
END