Create Prc [inserts] @name varcher(20),@sex carcher(4) as bagin insert into table(name,sex) values (@name,@sex) end ********************************************************* 就这样。你在页面上写一个循环用这个存储过程就行了
存储过程我都写好了了 protected void Button2_Click(object sender, EventArgs e) { SqlHelp he = new SqlHelp(); //是不是在这里加FOR循环呢?,这样和我直接insert 100句连一起啊有什么区别 int i = he.RunProcedureNonQuery("asd",sqlp("a","b"));
} public SqlParameter[] sqlp(string name,string pwd) { SqlParameter[] par = new SqlParameter[2]; par[0] = new SqlParameter("@uid", name); par[1] = new SqlParameter("@userPwd", pwd); return par; }
这两个函数需要自己编写: CREATE function Get_StrArrayLength ( @str varchar(1024), --要分割的字符串 @split varchar(10) --分隔符号 ) returns int CREATE function Get_StrArrayStrOfIndex ( @str varchar(1024), --要分割的字符串 @split varchar(10), --分隔符号 @index int --取第几个元素 ) returns varchar(1024)
create procedure [存储过程名称] ( @id int [output] --参数 )as select * from [表名] --sql语句集 go
楼主,给你个规范的查询存储过程 (通用查询) IF OBJECT_ID('存储过程名')>0 DROP PROC 存储过程名 GO CREATE PROC 存储过程名 @bname NVARCHAR(50), --要查询的表名 @lname NVARCHAR(50), --要查询的列名 @where NVARCHAR(500) --条件(可以为空) AS DECLARE @sql NVARCHAR(1000) --sql语句 SET @sql='SELECT '+@lname+' FROM '+@bname+' WHERE 1=1 '+@where EXEC (@sql) GO
create procedure sp_name()
begin
.........
end
as
bagin
insert into table(name,sex) values (@name,@sex)
end
*********************************************************
就这样。你在页面上写一个循环用这个存储过程就行了
protected void Button2_Click(object sender, EventArgs e)
{
SqlHelp he = new SqlHelp();
//是不是在这里加FOR循环呢?,这样和我直接insert 100句连一起啊有什么区别
int i = he.RunProcedureNonQuery("asd",sqlp("a","b"));
}
public SqlParameter[] sqlp(string name,string pwd)
{
SqlParameter[] par = new SqlParameter[2];
par[0] = new SqlParameter("@uid", name);
par[1] = new SqlParameter("@userPwd", pwd);
return par;
}
第二种方法,就是你把值插入新建一个表中,然后在存储过程中一次查询出来返回一个表,再然后来循环取该表中的值,循环播插入目标表中
CREATE function Get_StrArrayLength
(
@str varchar(1024), --要分割的字符串
@split varchar(10) --分隔符号
)
returns int
CREATE function Get_StrArrayStrOfIndex
(
@str varchar(1024), --要分割的字符串
@split varchar(10), --分隔符号
@index int --取第几个元素
)
returns varchar(1024)
(
@id int [output] --参数
)as
select * from [表名] --sql语句集
go
(通用查询)
IF OBJECT_ID('存储过程名')>0
DROP PROC 存储过程名
GO
CREATE PROC 存储过程名
@bname NVARCHAR(50), --要查询的表名
@lname NVARCHAR(50), --要查询的列名
@where NVARCHAR(500) --条件(可以为空)
AS
DECLARE @sql NVARCHAR(1000) --sql语句
SET @sql='SELECT '+@lname+' FROM '+@bname+' WHERE 1=1 '+@where
EXEC (@sql)
GO