怎么样把这个方法改成存储过程啊,求大侠帮忙,在在线等

yezhubaobao 2012-04-18 01:09:34
public void AddressAdd(AddressInfo model,string type,int id)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("insert into Address(");
strSql.Append("Address,City,State,ZipCode,IsMailingAddress,IsPhysicalAddress,Comment)");
strSql.Append(" values (");
strSql.Append("@Address,@City,@State,@ZipCode,@IsMailingAddress,@IsPhysicalAddress,@Comment) ");

if (type.ToLower() == "c")
{
strSql.Append("insert into ChildAddress(");
strSql.Append("ChildId,addId )");
strSql.Append(" values ('");
strSql.Append(id.ToString());
strSql.Append("',@@IDENTITY) ");
}
else if (type.ToLower() == "p")
{
strSql.Append("insert into ParentAddress(");
strSql.Append("ParentId,addId )");
strSql.Append(" values ('");
strSql.Append(id.ToString());
strSql.Append("',@@IDENTITY) ");
}

SqlParameter[] parameters = {
new SqlParameter("@Address", SqlDbType.Char,250),
new SqlParameter("@City", SqlDbType.Char,30),
new SqlParameter("@State", SqlDbType.Char,5),
new SqlParameter("@ZipCode", SqlDbType.Char,10),
new SqlParameter("@IsMailingAddress", SqlDbType.Char,30),
new SqlParameter("@IsPhysicalAddress", SqlDbType.Char,5),
new SqlParameter("@Comment", SqlDbType.Char,100)};
parameters[0].Value = model.Address;
parameters[1].Value = model.City;
parameters[2].Value = model.State;
parameters[3].Value = model.ZipCode;
parameters[4].Value = model.IsMailingAddress;
parameters[5].Value = model.IsPhysicalAddress;
parameters[6].Value = model.Comment;

DbHelperSQL.ExecuteNonQuery(CommandType.Text, strSql.ToString(), parameters);
}
...全文
119 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lvqiuchen 2012-04-18
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

[Quote=引用 4 楼 的回复:]

我也不懂他什么意思,给我好多界面让我把里面色SQL语句全部改成存储过程的,这只是其中一小部分
[/Quote]
3楼的更完整.他写得就是你需要的存储过程
yezhubaobao 2012-04-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

我也不懂他什么意思,给我好多界面让我把里面色SQL语句全部改成存储过程的,这只是其中一小部分
yezhubaobao 2012-04-18
  • 打赏
  • 举报
回复
我也不懂他什么意思,给我好多界面让我把里面色SQL语句全部改成存储过程的,这只是其中一小部分
lvqiuchen 2012-04-18
  • 打赏
  • 举报
回复

if exists (select * from sysobjects where name='proc_test')
drop proc proc_test
go
create proc proc_test
@Address nvarchar(50),
@City nvarchar(50),
@State int,
@ZipCode int,
@IsMailingAddress nvarchar(50),
@Comment nvarchar(50)
as
insert into [Address] values(@Address,@City,@State,@ZipCode,@IsMailingAddress,@Comment)
begin
if(@Type='c')then
@
as
insert into ChildAddress ........

是这个流程么
wuhailin010 2012-04-18
  • 打赏
  • 举报
回复
create proc Proc_table
@Address Varchar(100)
@City Varchar(100)
@ZipCode Varchar(100)
@State Varchar(100)
@IsMailingAddress Varchar(100)
@IsPhysicalAddress Varchar(100)
@Comment Varchar(100)
@type Varchar(10)
@id varchar(50)
as
begin
insert into Address(Address,City,State,ZipCode,IsMailingAddress,IsPhysicalAddress,Comment)
values(
@Address,@City,@State,@ZipCode,@IsMailingAddress,@IsPhysicalAddress,@Comment)
if(lower(@type)='c')
begin
insert into ChildAddress(ChildId,addId )
values (@id,@@IDENTITY)
end
else if(lower(@type)='p')
begin
insert into ParentAddress(ParentId,addId )
values (@id,@@IDENTITY)
end
end
页面传值进去 exec Proc_table model.Address,model.City。。。。。。。
yezhubaobao 2012-04-18
  • 打赏
  • 举报
回复
你能不能把我的这个整个改一下给我看看,因为我要改好多这样的东西,我不太熟悉,想有一个例子可以给我模仿一下
bdmh 2012-04-18
  • 打赏
  • 举报
回复
很简单,将你的参数改为存储过程的参数即可,比如存储过程中
@Address Varchar(100)
@City Varchar(100)
@ZipCode Varchar(100)

写sql时 就是 exec xxxxx 'aaa','bbb','ccc'

http://www.cnblogs.com/huanlinll/archive/2011/08/02/2119842.html

62,267

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧