C#ExecuteNonQuery

时间:2019-10-07 09:06:00

标签: c# sql-server ado.net

我的查询将在switch case循环中第一次执行,但是在第二种情况下,它什么也没有发生

所有内容都写在for循环内,它设法将第一个查询正确地添加到数据库中,但是之后就没有了

    <script>


    function calc(){       
    var value1 = document.getElementById('target').value || 0;
    document.getElementById('sum1').innerHTML = parseInt(value1 * 26);

    var value2 = document.getElementById('target2').value; 
    document.getElementById('result1').innerHTML = parseInt(value2 * 26);


    var ven1 = document.getElementById('sum1').innerHTML;
    var valuey = document.getElementById('result1').innerHTML || 0; 
    console.log(ven1);
    console.log(valuey);
    document.getElementById("products").disabled = false;
    document.getElementById('sumx').innerHTML = parseInt(ven1) + parseInt(valuey);

    }

    </script>

1 个答案:

答案 0 :(得分:0)

由于我不知道参数的值从哪里来,所以我只是假设它们已传递到过程中。您需要检查数据库中参数的数据类型,并相应地更改代码。将值转换为匹配的类型。 using块可确保即使发生错误也可以关闭和处置数据库对象。使用参数可以保护您进行Sql注入。

不需要循环,开关和数据适配器。

    private void OPCode(string sName,string sMiddleName,string sSurname,DateTime sBirthdate,string sSex,string sNationality,DateTime sDateOfArrival,int sCardID,string sUsername,string sPassword,string sPhoneNumber, int tb_cardID)
    {
        using (SqlConnection cnn = new SqlConnection(Globals.sqlConnect))
        {
            using (SqlCommand command = new SqlCommand("INSERT INTO dbo.Refugee ([Name],[Middlename],[Surname],[Birthdate],[Sex],[Nationality],[Date_of_arrival],[ID_Card_Number],[Username],[Password],[Phone_Number]) VALUES (@sName, @sMiddleName, @sSurname, @sBirthdate, @sSex, @sNationality, @sDateOfArrival, @sCardID, @sUsername, @sPassword, @sPhoneNumber);", cnn))
            {
                command.Parameters.Add("@sName", SqlDbType.VarChar).Value = sName;
                command.Parameters.Add("@sMiddleName", SqlDbType.VarChar).Value = sMiddleName;
                command.Parameters.Add("@sSurname", SqlDbType.VarChar).Value = sSurname;
                command.Parameters.Add("@sBirthdate", SqlDbType.DateTime).Value = sBirthdate;
                command.Parameters.Add("@sSex", SqlDbType.VarChar).Value = sSex;
                command.Parameters.Add("@sNationality", SqlDbType.VarChar).Value = sNationality;
                command.Parameters.Add("@sDateOfArrival", SqlDbType.DateTime).Value = sDateOfArrival;
                command.Parameters.Add("@sCardID", SqlDbType.Int).Value = sCardID;
                command.Parameters.Add("@sUsername", SqlDbType.VarChar).Value = sUsername;
                command.Parameters.Add("@sPassword", SqlDbType.VarChar).Value = sPassword;
                command.Parameters.Add("@sPhoneNumber", SqlDbType.VarChar).Value = sPhoneNumber;
                cnn.Open();
                command.ExecuteNonQuery();
            } //disposes command
            if (Properties.Settings.Default.HoF == true)
            {
                using(SqlCommand command = new SqlCommand("INSERT INTO dbo.Family ([Family_name],[Head_Of_Family_ID_Card_Number]) VALUES (@FamilyName, @tb_carID;", cnn))
                { 
                    command.Parameters.Add("@Familyname", SqlDbType.VarChar).Value = Properties.Settings.Default.Familyname;
                    command.Parameters.Add("@tb_cardID", SqlDbType.Int).Value = tb_cardID; 
                    command.ExecuteNonQuery();
                }//disposes second command
            }
        }//closes and disposes connection
    }