[英]How to insert the elements of an array into a SQL Server database using C#?
[英]using a table adapter to insert data into a SQL Server database from a string array in C#
我有以下方法:
public void LottoTest(object sender, EventArgs e)
{
Dictionary<int, int> numbers = new Dictionary<int, int>();
Random generator = new Random();
while (numbers.Count < 6)
{
numbers[generator.Next(1, 49)] = 1;
}
string[] lotto = numbers.Keys.OrderBy(n => n).Select(s => s.ToString()).ToArray();
foreach (String _str in lotto)
{
Response.Write(_str);
Response.Write(",");
}
}
我想將lotto
數組的內容插入到SQL Server 2008數據庫中。 問題是我根本不知道如何做到這一點。 我已經搜索了使用C#插入數據庫的各種方法,我發現使用表適配器來創建存儲過程是最好的。
如何利用此表適配器插入lotto
數組中的數據?
我會在這里開始閱讀:
話雖如此 - 這就是我將如何做到這一點(取決於數字是如何傳遞給我的)。
using System.Data.SqlClient;
namespace ConsoleApplication1
{
public class Lotto
{
public void InsertLottoNumbers(int[] lottonumbers)
{
var connectionstring = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;";
using (var con = new SqlConnection(connectionstring)) // Create connection with automatic disposal
{
con.Open();
using (var tran = con.BeginTransaction()) // Open a transaction
{
// Create command with parameters (DO NOT PUT VALUES IN LINE!!!!!)
string sql =
"insert into MyTable(val1,val2,val3,val4,val5,val6) values (@val1,@val2,@val3,@val4,@val5,@val6)";
var cmd = new SqlCommand(sql, con);
cmd.Parameters.AddWithValue("val1", lottonumbers[0]);
cmd.Parameters.AddWithValue("val2", lottonumbers[1]);
cmd.Parameters.AddWithValue("val3", lottonumbers[2]);
cmd.Parameters.AddWithValue("val4", lottonumbers[3]);
cmd.Parameters.AddWithValue("val5", lottonumbers[4]);
cmd.Parameters.AddWithValue("val6", lottonumbers[5]);
cmd.ExecuteNonQuery(); // Insert Record
tran.Commit(); // commit transaction
}
}
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.