Insert into ODBC Sybase не могу вставить данные C#

338
16 сентября 2017, 22:19

Добрый день товарищи.

Никак не получается сделать Insert в базу данных Sybase из DataGridView

{InitializeComponent();
    }
    OdbcConnection conn = new OdbcConnection (@"Driver={SQL Anywhere 10};ENG=sv;UID=***;PWD=***;DBN=***;LINKS=TCPIP(HOST=192.168.0.75)");

//

private void btn_insert_zaliavos_Click(object sender, EventArgs e)
    {
       try
        {
            conn.Open();
            OdbcCommand cmd = new OdbcCommand("INSERT INTO gamyba1z (ID_GAMYBA, PRE_KOD, PRE_KODN, SAN_KOD, PRE_SKA, NL_KOD, OBJ_KOD, OB3_KOD, OB2_KOD, OB4_KOD, PRE_SK1) VALUES (@ID_GAMYBA, @PRE_KOD, @PRE_KODN, @SAN_KOD, @PRE_SKA, @NL_KOD, @OBJ_KOD, @OB3_KOD,  @OB2_KOD, @OB4_KOD,  @PRE_SK1)", conn);
            //SqlCommand cmd = new SqlCommand("INSERT INTO Plan_prekes VALUES(@Nr, @Data, @ID, @Pavadinimas, @S1, @S2, @S3, @S4, @Kiekis, @Darbuotojas, @Papildymas, @Akcija, @Grupe, @Klientas)", con);
            OdbcParameter ID_GAMYBA = cmd.Parameters.Add("@ID_GAMYBA", OdbcType.Int);
            OdbcParameter PRE_KOD = cmd.Parameters.Add("@PRE_KOD", OdbcType.Char);                
            OdbcParameter PRE_KODN = cmd.Parameters.Add("@PRE_KODN", OdbcType.Int);
            OdbcParameter SAN_KOD = cmd.Parameters.Add("@SAN_KOD", OdbcType.Char);
            OdbcParameter PRE_SKA = cmd.Parameters.Add("@PRE_SKA", OdbcType.BigInt);
            OdbcParameter NL_KOD = cmd.Parameters.Add("@NL_KOD", OdbcType.Char);
            OdbcParameter OBJ_KOD = cmd.Parameters.Add("@OBJ_KOD", OdbcType.Char);
            OdbcParameter OB3_KOD = cmd.Parameters.Add("@OB3_KOD", OdbcType.Char);
            //OdbcParameter OB6_KOD = cmd.Parameters.Add("OB6_KOD", OdbcType.Char);
            OdbcParameter OB2_KOD = cmd.Parameters.Add("@OB2_KOD", OdbcType.Char);
            OdbcParameter OB4_KOD = cmd.Parameters.Add("@OB4_KOD", OdbcType.Char);
            //OdbcParameter OB5_KOD = cmd.Parameters.Add("OB5_KOD", OdbcType.Char);
            OdbcParameter PRE_SK1 = cmd.Parameters.Add("@PRE_SK1", OdbcType.BigInt);


            /*и так далее для всех параметров ....
            */
            //Перенос данных из dataGridView_zaliavos в базу
            for (int i = 0; i < dataGridView_zaliavos.Rows.Count; i++)
            {               
                if (dataGridView_zaliavos.Rows[i].Cells[0].Value == null)
                { 
                    //Нет Id 
                    MessageBox.Show("Importuota !");
                    continue;
                }
                else
                { ID_GAMYBA.Value = dataGridView_zaliavos.Rows[i].Cells[0].Value; } //ID 

                if (dataGridView_zaliavos.Rows[i].Cells[1].Value == null)
                { PRE_KOD.Value = DBNull.Value; }
                else
                { PRE_KOD.Value = dataGridView_zaliavos.Rows[i].Cells[1].Value; } //Kod

                //if (dataGridView_zaliavos.Rows[i].Cells[2].Value == null)
                //{ PRE_KODN.Value = DBNull.Value; }
                //else
                //{ PRE_KODN.Value = dataGridView_zaliavos.Rows[i].Cells[2].Value; }  //Data                                          
                if (dataGridView_zaliavos.Rows[i].Cells[3].Value != null)
                { SAN_KOD.Value = DBNull.Value;  }
                else
                {  SAN_KOD.Value = dataGridView_zaliavos.Rows[i].Cells[3].Value;  } //Sklad
                if (dataGridView_zaliavos.Rows[i].Cells[4].Value == null)
                { PRE_SKA.Value =  DBNull.Value; }
                else
                { PRE_SKA.Value = dataGridView_zaliavos.Rows[i].Cells[4].Value; }  //Kolicestvo
                if (dataGridView_zaliavos.Rows[i].Cells[5].Value == null)
                { OBJ_KOD.Value = DBNull.Value; }
                else
                { OBJ_KOD.Value = dataGridView_zaliavos.Rows[i].Cells[5].Value; } //Serija

                { PRE_KODN.Value = '1'; }                   
                { NL_KOD.Value = '0'; }
                { OB3_KOD.Value = DBNull.Value; }                    
                { OB2_KOD.Value = DBNull.Value; }
                { OB4_KOD.Value = DBNull.Value; }
                //{ OBJ_KOD.Value = DBNull.Value; }
                { PRE_SK1.Value = '0'; }


                //И так далее для всех параметров
                /*
                .....
                 */
                //Выполнение команды (Его лучше сделать в отдельном try{} catch{}
                try
                {
                    cmd.ExecuteNonQuery();
                }
                catch (Exception ee)
                {
                    MessageBox.Show(ee.Message);
                }
            }
        }
        catch (Exception ee)
        {
            //Обрабатываете возможное исключение при открытии
            MessageBox.Show(ee.Message);
        }
        finally
        {
            conn.Close();
        }

}

Пишет что не находит столбика @ID_GAMYBA. Просто через запрос:

INSERT INTO gamyba1z (ID_GAMYBA, PRE_KOD, PRE_KODN, SAN_KOD, PRE_SKA, NL_KOD, OBJ_KOD, OB3_KOD, OB2_KOD, OB4_KOD, PRE_SK1) VALUES(14580,10010000,1, 'INGRED. T', 100,0,'','','','',0)

данные вставляются.

Может есть идеи ?

READ ALSO
Ошибка при вставке изображений в кнопку

Ошибка при вставке изображений в кнопку

После добавления картинки в кнопку стала вылезать такая ошибка:

309
Как добавить дополнительную информацию по установленной программе?

Как добавить дополнительную информацию по установленной программе?

Всем приветЕсть разработанное приложение

241
Как переписать стиль для кнопки?

Как переписать стиль для кнопки?

Как можно переписать стиль кнопки чтобы при наведении мыши не было градиента от Windows и после нажатия кнопка не мигала (тем же градиентом)?

227
Программируемые горячие клавиши VisualStudio

Программируемые горячие клавиши VisualStudio

Как добавить горячую клавишу в Visual Studio, которая будет создавать или редактировать кусок кода? Допустим Ctrl-K-C комментирует выделенный кусок...

386