将批量数据插入sql时遇到麻烦

时间:2013-12-18 04:42:30

标签: sql-server database asp.net-mvc-4

在MVC4中,我在视图中有以下代码:

<script>
        var things = []; 
       function fun () {

           var Quran = {
               "surah": things[1].surah,
               "ayah": things[1].ayah,
               "verse": things[1].verse
           };
           things.push(Quran);

           for (var n = 0; n < length; n++) {
           $.ajax({
                   contentType: 'application/json; charset=utf-8',
                   method: 'GET',
                   url: "Gateway/DB_Rola?action=1",
                   data: things[n],
                   success: function (Data) {
                       var mera_obj = Data.key;
                       document.getElementById("Param2").value = '(' + mera_obj.Response_Code + ' , ' + mera_obj.Response_Description + ')';
                   },
                   error: function () {
                       alert("ERROR: can't connect to Server this time");
                       return false; }
               });
               alert("done for  "+(n+1));
           }  // loop ends
           return false;
        }; // function ends

和控制器方法是:

public ActionResult DB_Rola(thing things)
        {
          string connectionString = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\PROGRAM FILES (X86)\MICROSOFT SQL SERVER\MSSQL.1\MSSQL\DATA\PEACE_QURAN.MDF;Integrated Security=True";
            System.Data.SqlClient.SqlConnection connection = new SqlConnection(connectionString);
            int surah = things.surah;
            int ayah =things.ayah;
            String verse = things.verse;
            // designing parametiric_query from the parameters
            string query = "insert into Ayyat_Translation_Language_old_20131209 values(null,null,@Surah,@Verse)";
            SqlCommand cmd = new SqlCommand(query, connection);
            connection.Open();
            //setting parameters for parametric query
            SqlParameter Parm1 = new SqlParameter("Surah", surah);
            SqlParameter Parm2 = new SqlParameter("Ayah", ayah);
            SqlParameter Parm3 = new SqlParameter("Verse", verse);
            //adding parameters
            cmd.Parameters.Add(Parm1);
            cmd.Parameters.Add(Parm2);
            cmd.Parameters.Add(Parm3);
            cmd.ExecuteNonQuery();
                System.IO.StreamWriter file = new System.IO.StreamWriter(@"E:\Office_Work\Peace_Quran\Peace_Quran\Files\hisaab.txt", true);
                file.WriteLine(" "+things.ayah);
                file.Close();
            connection.Close();

            return View();
        }

如上面在代码中所提到的,在我的视图页面中有一个循环,它在上面的控制器方法中接收一次传递单个对象。它适用于少量数据但是当我发送批量时.i.e。一次50多条记录,有些记录未保存在我的数据库中。我不知道我的数据库代码有什么问题。请帮我搞清楚。

0 个答案:

没有答案