gpt4 book ai didi

c# - 在 C# 中使用存储过程

转载 作者:太空狗 更新时间:2023-10-30 01:58:40 31 4
gpt4 key购买 nike

我正在使用 C# 开发一个数据库应用程序。我需要在表格上显示数据,现在我已经完成了。但是我的业务逻辑是硬编码到我的代码中的。现在我想继续在我的代码中使用存储过程。我需要做哪些修改。一个简单的步骤列表就足够了:)

SqlConnection myConnection = new SqlConnection("user id=dbblabla;" + 
"password=1234;server=localhost\\SQLEXPRESS;" +
"Trusted_Connection=yes;" +
"database=myDB; " +
"connection timeout=30");

try
{
myConnection.Open();
} catch (SqlException excep){
Console.WriteLine(excep.StackTrace);
}

String selectionQuery = "SELECT * FROM myTable";
SqlDataAdapter myAdapter = new SqlDataAdapter(selectionQuery,myConnection);

DataSet ds = new DataSet();
myAdapter.Fill(ds,"AllInfo");

dataGridSearchOutput.DataSource = ds.Tables["AllInfo"].DefaultView;

我从创建一个新的 SQL 命令开始,但我不确定我使用的方法是否正确。

SqlCommand newCommand = new SqlCommand("SELECT * FROM PMInfo");
newCommand.CommandType = CommandType.StoredProcedure;

最佳答案

存储过程

CREATE PROCEDURE addemp
@eno int,
@ename varchar(50),
@edate datetime
AS
declare @p int

select @p=count(*) from emp
where eno=@eno
if @p=0
begin
insert into emp
values (@eno,@ename,@edate)
end
RETURN

C#代码

    SqlConnection cn = new SqlConnection(@"conn_str");
SqlCommand cmd = new SqlCommand("addemp", cn);
cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.AddWithValue("@eno", 10);
cmd.Parameters.AddWithValue("@ename", "Mr.Xyz");
cmd.Parameters.AddWithValue("@edate", DateTime.Parse("1-1-2002"));

cn.Open();
cmd.ExecuteNonQuery();
cn.Close();

关于c# - 在 C# 中使用存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1383406/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com