【问题标题】:how to create a procedure with insert statment in C#? [closed]如何在 C# 中使用插入语句创建过程? [关闭]
【发布时间】:2013-04-07 17:35:36
【问题描述】:

我已经构建了一个 C# 应用程序,并且正在使用 SQL Server 2008 R2。

如何创建一个名为AddCustomer的过程,我的插入语句和数据类型应该包含Nvarchar(50)Varchar(10)intDatetime

我只想要 C# 代码。

谢谢

【问题讨论】:

  • 请进行一些研究,向我们准确展示您的尝试,以及您遇到的问题。查看文章here,它描述了如何提出一个好问题。
  • 这里听起来不止一个问题——如何创建一个过程,如何从 C# 调用一个过程,如何从组合框/日历中获取值。尝试一次迈出一步。
  • @AndrewWhitaker 修改了标题以关注问题的目标。问题的细节被修改得更清楚了,所以如果我的问题没有问题,请重新打开它。或者你可以告诉我如何改进这个问题,很抱歉迟到了,已经大约 7 年了。谢谢。

标签: c# stored-procedures sql-server-2008-r2


【解决方案1】:

我会尝试使用类似的东西 - 传入正确的值和数据类型,使用 ADO.NET 和参数化查询,明确指定参数类型等。

public void AddCustomer(string companyName, string telephone, DateTime firstOrderDate)
{
   // get your connection string
   string connectionString = ConfigurationManager.ConnectionStrings["YourConnString"].ConnectionString;

   // define your query - using parameters!
   string insertStmt = "INSERT INTO dbo.Customer(CompanyName, Telephone, DateOfFirstOrder) VALUES (@Company, @Phone, @OrderDate)";

   // establish SQL connection and command
   using(SqlConnection conn = new SqlConnection(connectionString))
   using (SqlCommand cmd = new SqlCommand(insertStmt, conn))
   {
      // define parameters and set values
      cmd.Parameters.Add("@Company", SqlDbType.NVarChar, 50).Value = companyName;
      cmd.Parameters.Add("@Phone", SqlDbType.VarChar, 10).Value = telephone;
      cmd.Parameters.Add("@OrderDate", SqlDbType.DateTime).Value = firstOrderDate;

      // open connection, insert data, close connection
      conn.Open();
      cmd.ExecuteNonQuery();
      conn.Close();
   }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-20
    • 1970-01-01
    • 2019-02-24
    • 2021-04-04
    • 1970-01-01
    • 1970-01-01
    • 2018-09-11
    • 2010-09-28
    相关资源
    最近更新 更多