求大神帮助!!有关VS中调用SQL中的无参数的存储过程的奇怪问题
我的数据库是这样写得:
SqlConnection conn=new SqlConnection(“connectionString”);
SqlDataAdapter da = new SqlDataAdapter();
da.selectCommand = new SqlCommand();
da.selectCommand.Connection = conn;
da.selectCommand.CommandText = "PRO_AutoLSH";
da.selectCommand.CommandType = CommandType.StoredProcedure;
CREATE PROCEDURE [dbo].[zidongLSH]
(
@letter varchar(10), --首字母,可以多个字母
@LSHkey varchar(20), --表中的流水号列名,最好是主键
@tablename varchar(20) --表名
)
as
set nocount on
begin
--最终结果号
declare @zzh nvarchar(20)
--设字头
declare @zt char(2)
set @zt = @letter
--设日期
declare @ym char(8)
set @ym = CONVERT(varchar(12) , getdate(), 112)
--设排头“BX+日期”
declare @pt char(10)
set @pt = @zt+@ym
----查询该表最大的流水号
DECLARE @sql NVARCHAR(200) --sql语句
DECLARE @NUM INT --最大流水号
SET @sql='SELECT ISNULL (MAX(CONVERT(INT,SUBSTRING('+@LSHkey+',11,4))),0)+1 FROM '+@tablename
--创建临时表
CREATE TABLE TEMP3(TOTAL INT);
--写入查询得到的数据
INSERT INTO TEMP3 EXEC(@sql);
--再查询出值
SET @NUM=(SELECT TOTAL FROM TEMP3)
DROP TABLE TEMP3
set @zzh= @pt+SUBSTRING(CONVERT(CHAR(5),10000+(@NUM)),2,4)
insert into 维护报修表 values(@zzh);
end