Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用表适配器将数据从C中的字符串数组插入SQL Server数据库_C#_Asp.net_Sql Server 2008_Arrays_Tableadapter - Fatal编程技术网

C# 使用表适配器将数据从C中的字符串数组插入SQL Server数据库

C# 使用表适配器将数据从C中的字符串数组插入SQL Server数据库,c#,asp.net,sql-server-2008,arrays,tableadapter,C#,Asp.net,Sql Server 2008,Arrays,Tableadapter,我有以下方法: public void LottoTest(object sender, EventArgs e) { Dictionary<int, int> numbers = new Dictionary<int, int>(); Random generator = new Random(); while (numbers.Count < 6) {

我有以下方法:

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(",");
            }
        }
我想将乐透数组的内容插入SQLServer2008数据库。问题是我根本不知道怎么做。我搜索了各种使用C插入数据库的方法,发现使用表适配器创建存储过程是最好的


如何使用此表适配器插入乐透阵列中的数据?

我将从这里开始阅读:

话虽如此,以下是我将如何做到这一点,这取决于数字是如何传递给我的

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
                }
            }
        }
    }
}

您的数据库中是否设置了表?是的,创建了彩票、数字、DrawDate数据库。表适配器已设置,只是不知道获取数组内容然后让表适配器将数据写入表的语法。谢谢。。这很有用,但在代码体中包含SQL insert语句不是很糟糕吗?我还打算将以逗号分隔的乐透号码列表放在数据库的一列中。我看你实际上把价值观分解了。嗯,最坏的做法——这取决于你在构建什么。对于生产应用程序,我将此类代码放入数据层或使用ORM工具。对于不需要在UI/业务逻辑/和数据层之间进行抽象的小型应用程序来说,这很好。我明白了,它只是一个虚拟应用程序,用于证明一些事情,并用数字和概率等测试逻辑。。。谢谢