开发者

Insert data into SQL Server database table with inline query, not allowed to use stored proc

I have a table in C#, the data is coming from an Ex开发者_开发技巧cel file. I need this data to be inserted into a SQL Server 2000 table. I am not to use stored procedures. How do I program it? Any help would be appreciated.


Do you have a DataTable ?

You'd need something like:

// set up connection to your database
using (SqlConnection con = new SqlConnection("your-connection-string-here"))
{
   // define the INSERT statement - of course, I don't know what your table name
   // is and which and how many fields you want to insert - adjust accordingly
   string insertStmt =
      "INSERT INTO dbo.YourTable(field1, field2, field3) " +
      "VALUES(@field1, @field2, @field3)";

      // create SqlCommand object
      using (SqlCommand cmd = new SqlCommand(insertStmt, con))
      {
          // set up the parameters - again: I don't know your parameter names
          // nor the parameters types - adjust to your needs
          cmd.Parameters.Add("@field1", SqlDbType.Int);
          cmd.Parameters.Add("@field2", SqlDbType.VarChar, 100);
          cmd.Parameters.Add("@field3", SqlDbType.VarChar, 250);

          // open connection
          con.Open();

          // iterate over all the Rows in your data table
          foreach (DataRow row in YourDataTable.Rows)
          {
             // assign the values to the parameters, based on your DataRow
             cmd.Parameters["@field1"].Value = Convert.ToInt32(row["columnname1"]);
             cmd.Parameters["@field2"].Value = row["columnname2"].ToString();
             cmd.Parameters["@field3"].Value = row["columnname3"].ToString();

             // call INSERT statement
             cmd.ExecuteNonQuery();
          }

          // close connection
          con.Close();
       }
   }

Of course, this has no error checking whatsoever, you will need to add some of that yourself (try....catch and so on). But basically, that's the way I would do it, if I can't use stored procedures.


use System.Data.SqlClient.SqlCommand

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜