Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.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/8/mysql/60.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# 插入查询的SQL格式错误_C#_Mysql_Sql_Visual Studio - Fatal编程技术网

C# 插入查询的SQL格式错误

C# 插入查询的SQL格式错误,c#,mysql,sql,visual-studio,C#,Mysql,Sql,Visual Studio,我收到了一些用于插入国家/地区查询的代码,我需要将其更改为参数,但我遇到了以下错误: 请确保所有字段的格式正确:数字字段[0-9],日期[dd/mm/yyyy] 我在创建国家时输入了正确的格式,因此我不知道为什么会出现此错误。原始sql查询被注释掉了,这样您就可以看到我所做的更改 public static int InsertCountry(int Company_ID, string CountryISO, string CountryName, int Currency, int IsA

我收到了一些用于插入国家/地区查询的代码,我需要将其更改为参数,但我遇到了以下错误: 请确保所有字段的格式正确:数字字段[0-9],日期[dd/mm/yyyy]

我在创建国家时输入了正确的格式,因此我不知道为什么会出现此错误。原始sql查询被注释掉了,这样您就可以看到我所做的更改

 public static int InsertCountry(int Company_ID, string CountryISO, string CountryName, int Currency, int IsActive, int CreatedByUser, string CountryCode, string Operator, string TransitTime, string Departures, string ImportOperator, string ImportTransitTime, string ImportDepartures, decimal? SECAAmt, decimal? SECAPer)
            {
                int ID = -1;
                string sql = "proc_InsertCoutnry";

                using (MySql.Data.MySqlClient.MySqlConnection conn = new MySql.Data.MySqlClient.MySqlConnection(DataUtils.ConnectionStrings["TAT"]))
                {
                    conn.Open();
                    using (MySql.Data.MySqlClient.MySqlCommand cmd = new MySql.Data.MySqlClient.MySqlCommand(sql, conn))
                    {
                        cmd.CommandType = CommandType.Text;
                       /* cmd.CommandText = "INSERT INTO countries (Company_ID, CountryISO,CountryName,CurrencyID,IsActive,CreatedByUser,CreatedDate,ModifiedByUser,ModifiedDate,CountryCode,Operator,TransitTime,Departures,ImportOperator,ImportTransitTime,ImportDepartures, SECAAmt,  SECAPercent) " +
                                           "VALUES(" + Company_ID + ", '" + CountryISO.Replace("'", "''") + "', '" + CountryName.Replace("'", "''") + "'," + Currency + ", " + IsActive + "," + CreatedByUser + ",NOW()," + CreatedByUser + ",NOW(),'" + CountryCode.Replace("'", "''") + "','" + Operator.Replace("'", "''") + "','" + TransitTime.Replace("'", "''") + "','" + Departures.Replace("'", "''") + "','" + ImportOperator.Replace("'", "''") + "','" + ImportTransitTime.Replace("'", "''") + "','" + ImportDepartures.Replace("'", "''") + "', ?SECAAmt, ?SECAPer);SELECT LAST_INSERT_ID();"; */

                        cmd.CommandText = @"INSERT INTO countries (Company_ID, CountryISO,CountryName,CurrencyID,IsActive,CreatedByUser,CreatedDate,ModifiedByUser,ModifiedDate,CountryCode, Operator,TransitTime,Departures,ImportOperator,ImportTransitTime,ImportDepartures, SECAAmt,  SECAPercent) " +
                                           "VALUES(?company_ID, ?countryISO, ?countryName, ?currency, ?isActive, ?createdByUser,NOW(),?createdByUser,NOW(), ?countryCode, ?operator," +
                                            "?transitTime, ?departures, ?importOperator, ?importTransitTime, ?importDepartures, ?SECAAmt, ?SECAPer);SELECT LAST_INSERT_ID();";

                        cmd.Parameters.Add(new MySqlParameter("company_ID", Company_ID));
                        cmd.Parameters.Add(new MySqlParameter("countryISO", CountryISO));
                        cmd.Parameters.Add(new MySqlParameter("countryName", CountryName));
                        cmd.Parameters.Add(new MySqlParameter("currency", Currency));
                        cmd.Parameters.Add(new MySqlParameter("isActive", IsActive));
                        cmd.Parameters.Add(new MySqlParameter("createdByUser", CreatedByUser));
                        cmd.Parameters.Add(new MySqlParameter("operator", Operator));
                        cmd.Parameters.Add(new MySqlParameter("transitTime", TransitTime));
                        cmd.Parameters.Add(new MySqlParameter("departures", Departures));
                        cmd.Parameters.Add(new MySqlParameter("importOperator", ImportOperator));
                        cmd.Parameters.Add(new MySqlParameter("importTransitTime", ImportTransitTime));
                        cmd.Parameters.Add(new MySqlParameter("importDepartures", ImportDepartures));
                        cmd.Parameters.Add(new MySqlParameter("SECAAmt", SECAAmt));
                        cmd.Parameters.Add(new MySqlParameter("SECAPer", SECAPer));
                        ID = int.Parse(cmd.ExecuteScalar().ToString());               
                    }
                }
                return ID;
            }
试一试


向数据库添加数据时,应声明类型

实际执行的查询是什么?如果无法看到某些配置的内部异常问题,则异常是什么
 cmd.Parameters.Add("@someparam", SqlDbType.NVarChar).Value