当前位置:编程学习 > C#/ASP.NET >>

急!储存过程

我写了个储存过程:CREATE PROCEDURE [dbo].[TT_test]
               @name nvarchar(50),

 @sex nvarchar(50)
AS
           
begin 

             declare @sql nvarchar(1000)

set @sql= 'insert into test(name,sex)values(@name,@sex)'

--select @sql
exec(@sql)
end
GO
使用SqlDataSource控件插入数据,如何在后台写? --------------------编程问答-------------------- 额额》。。
没干过,关注 --------------------编程问答-------------------- @name nvarchar(50),
@sex nvarchar(2)
declare @sql nvarchar(1000)
insert into test(name,sex)values(@name,@sex)

--------------------编程问答-------------------- 楼上的SqlDataSource这怎么调用这个出错过程 --------------------编程问答-------------------- 调用存储过程就行了啊。


这个很简单的。 --------------------编程问答-------------------- 其实楼主要的是 在插入数据后,所影响的行数
你完全可以这样:
int query = SqlCommand.ExecuteNonQuery();


query 就是你要的影响行数了

--------------------编程问答-------------------- 你这个存储过程是干嘛的列? --------------------编程问答-------------------- 这个存储过程不是接收两个参数吗,你把需要传入的两个参数传递进去不就行了吗 --------------------编程问答-------------------- string cmd = "select dbo.TT_test('胡锦涛','男')";
SqlCommand comd = new SqlCommand(cmd, connection);
                int a = comd.ExecuteNonQuery(); --------------------编程问答-------------------- 刚接触储存过程,很弱。储存过程这样写的CREATE PROCEDURE [dbo].[TT_test]
               @name nvarchar(50),

 @sex nvarchar(50)
AS
           
begin 

             declare @sql nvarchar(1000)
set @sql= 'insert into test(name,sex)values(@name,@sex)'

--select @sql
exec(@sql)
end
GO
.CS中这样写的:
  SqlDataSource1.InsertCommand = "TT_test";
        SqlDataSource1.InsertCommandType = SqlDataSourceCommandType.StoredProcedure;
        SqlDataSource1.InsertParameters.Add("@name", TypeCode.String, TextBox1.Text);
        SqlDataSource1.InsertParameters.Add("@sex", TypeCode.String, TextBox2.Text);
        SqlDataSource1.Insert();
报错:@@name 不是过程 TT_test 的参数。 ,应该怎么写? --------------------编程问答-------------------- 学习中 --------------------编程问答-------------------- CREATE PROCEDURE AddTT_test
  @name nvarchar(50),
  @sex nvarchar(50)
AS 
begin 
  declare @sql nvarchar(1000)
set @sql= 'insert into test(name,sex)values(@name,@sex)'

--select @sql
exec(@sql)
end

SqlDataSource1.InsertCommand = "AddTT_test";
  SqlDataSource1.InsertCommandType = SqlDataSourceCommandType.StoredProcedure;
  SqlDataSource1.InsertParameters.Add("@name", TypeCode.String, TextBox1.Text);
  SqlDataSource1.InsertParameters.Add("@sex", TypeCode.String, TextBox2.Text);
  SqlDataSource1.Insert();
这样试试!

补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,