powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Insert Oracle
23 сообщений из 23, страница 1 из 1
Insert Oracle
    #39326017
vadipok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, коллеги!
Как всегда нужна ваша помощь.
Код:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
                // insert into sql
                string sqlInsert = "insert into dz2x (ID,FIELD,MEST,PLOS,NSKV_ID,NSKV,BLOK,GOR,DAT,NEFT,GID,ZAK,DNI) "; //,DNI_TEX_OG +
                                                                                                                        //"DNI_PR)"; //,SPOSOB,SPOSOB_NO,KOD_SOST,SOST,SOST_NO,KOD_NAZN,NAZN_NO,NAZN) ";
                sqlInsert += "values (SEQ_DZ2X.NEXTVAL,'Северо-Альметьевск',:1,:2,:3,:4,:5,:6,TO_DATE(:7,'DD-MON-RR','NLS_DATE_LANGUAGE = American')," +
                             "to_number(replace(:8,',','.'),'99999999990.00'),to_number(replace(:9,',','.'),'99999999990.00')," +
                             "to_number(replace(:10,',','.'),'99999999990.00'),to_number(replace(:11,',','.'),'99999999990.00')) "; //) "; //,to_number(replace(:12,',','.'),'99999999990.00'))"; //,to_number(replace(:13,',','.'),'99999999990.00'))"; //,:14,:15,:16,:17,:18,:19,:20,:21)";

                foreach (DataGridViewRow row in this.dataGridView1.Rows)
                {
                    OracleCommand cmd; // oracle cmd

                    Console.WriteLine("------------------- Insert Start -------------------");

                    cmd = new OracleCommand(sqlInsert, con); // Create the InsertCommand.

                    // add parameters
                    cmd.Parameters.Add(new OracleParameter("1", row.Cells[0].Value));
                    cmd.Parameters.Add(new OracleParameter("2", row.Cells[1].Value));
                    cmd.Parameters.Add(new OracleParameter("3", row.Cells[2].Value));
                    cmd.Parameters.Add(new OracleParameter("4", row.Cells[3].Value));
                    cmd.Parameters.Add(new OracleParameter("5", row.Cells[4].Value));
                    cmd.Parameters.Add(new OracleParameter("6", row.Cells[5].Value));
                    cmd.Parameters.Add(new OracleParameter("7", row.Cells[6].Value));
                    cmd.Parameters.Add(new OracleParameter("8", row.Cells[7].Value));
                    cmd.Parameters.Add(new OracleParameter("9", row.Cells[8].Value));
                    cmd.Parameters.Add(new OracleParameter("10", row.Cells[9].Value));
                    cmd.Parameters.Add(new OracleParameter("11", row.Cells[10].Value));
                    //cmd.Parameters.Add(new OracleParameter("12", row.Cells[11].Value));
                    /*cmd.Parameters.Add(new OracleParameter("13", row.Cells[12].Value));
                    cmd.Parameters.Add(new OracleParameter("14", row.Cells[13].Value));
                    cmd.Parameters.Add(new OracleParameter("15", row.Cells[14].Value));
                    cmd.Parameters.Add(new OracleParameter("16", row.Cells[15].Value));
                    cmd.Parameters.Add(new OracleParameter("17", row.Cells[16].Value));
                    cmd.Parameters.Add(new OracleParameter("18", row.Cells[17].Value));
                    cmd.Parameters.Add(new OracleParameter("19", row.Cells[18].Value));
                    cmd.Parameters.Add(new OracleParameter("20", row.Cells[19].Value));
                    cmd.Parameters.Add(new OracleParameter("21", row.Cells[20].Value));
                    */

                    Console.WriteLine(cmd.CommandText.ToString());
                    Console.WriteLine(row.Cells[0].Value);
                    Console.WriteLine(row.Cells[1].Value);
                    Console.WriteLine(row.Cells[2].Value);
                    Console.WriteLine(row.Cells[3].Value);
                    Console.WriteLine(row.Cells[4].Value);
                    Console.WriteLine(row.Cells[5].Value);
                    Console.WriteLine(row.Cells[6].Value);
                    Console.WriteLine(row.Cells[7].Value);
                    Console.WriteLine(row.Cells[8].Value);
                    Console.WriteLine(row.Cells[9].Value);
                    Console.WriteLine(row.Cells[10].Value);
                    //Console.WriteLine(row.Cells[11].Value);
                    //Console.WriteLine(row.Cells[12].Value);
                    //Console.WriteLine(row.Cells[13].Value);
                    /*Console.WriteLine(row.Cells[14].Value);
                    Console.WriteLine(row.Cells[15].Value);
                    Console.WriteLine(row.Cells[16].Value);
                    Console.WriteLine(row.Cells[17].Value);
                    Console.WriteLine(row.Cells[18].Value);
                    Console.WriteLine(i);
                    Console.WriteLine(dataGridView1.RowCount);
                    */
                    Thread.Sleep(100);

                    if (dataGridView1.RowCount != i+1)
                    {
                        cmd.ExecuteNonQuery(); // execute insert
                    }
                    cmd.Dispose(); // free memory

                    Console.WriteLine("++++++++++++++++++ Insert Succesful ++++++++++++++++++");
                    
                    progressBar1.PerformStep(); // step
                    i += 1;
                }



Вывод скопировал и запустил напрямую, все работает.
Как быть куда копать?
...
Рейтинг: 0 / 0
Insert Oracle
    #39326021
vadipok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вывод ошибки:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
Поток 0x3004 завершился с кодом 0 (0x0).
"UnprodLoad.vshost.exe" (CLR v4.0.30319: UnprodLoad.vshost.exe). Загружено "C:\Users\vvf6426\Documents\Visual Studio 2015\Projects\UnprodLoad\bin\x64\Debug\UnprodLoad.exe". Символы загружены.
"UnprodLoad.vshost.exe" (CLR v4.0.30319: UnprodLoad.vshost.exe). Загружено "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms.resources\v4.0_4.0.0.0_ru_b77a5c561934e089\System.Windows.Forms.resources.dll". Сборка модуля выполнена без символов.
"UnprodLoad.vshost.exe" (CLR v4.0.30319: UnprodLoad.vshost.exe). Загружено "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll". Невозможно найти или открыть PDB-файл.
"UnprodLoad.vshost.exe" (CLR v4.0.30319: UnprodLoad.vshost.exe). Загружено "C:\Users\vvf6426\Documents\Visual Studio 2015\Projects\UnprodLoad\bin\x64\Debug\Excel.4.5.dll". Символы загружены.
"UnprodLoad.vshost.exe" (CLR v4.0.30319: UnprodLoad.vshost.exe). Загружено "C:\Users\vvf6426\Documents\Visual Studio 2015\Projects\UnprodLoad\bin\x64\Debug\ICSharpCode.SharpZipLib.dll". Сборка модуля выполнена без символов.
"UnprodLoad.vshost.exe" (CLR v4.0.30319: UnprodLoad.vshost.exe). Загружено "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Numerics\v4.0_4.0.0.0__b77a5c561934e089\System.Numerics.dll". Невозможно найти или открыть PDB-файл.
"UnprodLoad.vshost.exe" (CLR v4.0.30319: UnprodLoad.vshost.exe). Загружено "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Data.OracleClient.resources\v4.0_4.0.0.0_ru_b77a5c561934e089\System.Data.OracleClient.resources.dll". Сборка модуля выполнена без символов.
"UnprodLoad.vshost.exe" (CLR v4.0.30319: UnprodLoad.vshost.exe). Загружено "C:\Windows\Microsoft.Net\assembly\GAC_64\System.Transactions\v4.0_4.0.0.0__b77a5c561934e089\System.Transactions.dll". Невозможно найти или открыть PDB-файл.
"UnprodLoad.vshost.exe" (CLR v4.0.30319: UnprodLoad.vshost.exe). Загружено "C:\Windows\Microsoft.Net\assembly\GAC_64\System.EnterpriseServices\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.dll". Невозможно найти или открыть PDB-файл.
"UnprodLoad.vshost.exe" (CLR v4.0.30319: UnprodLoad.vshost.exe). Загружено "C:\Windows\Microsoft.Net\assembly\GAC_64\System.EnterpriseServices\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.Wrapper.dll". Невозможно найти или открыть PDB-файл.
------------------- Insert Start -------------------
insert into dz2x (ID,FIELD,MEST,PLOS,NSKV_ID,NSKV,BLOK,GOR,DAT,NEFT,GID,ZAK,DNI) values (SEQ_DZ2X.NEXTVAL,'Северо-Альметьевск',:1,:2,:3,:4,:5,:6,TO_DATE(:7,'DD-MON-RR','NLS_DATE_LANGUAGE = American'),to_number(replace(:8,',','.'),'99999999990.00'),to_number(replace(:9,',','.'),'99999999990.00'),to_number(replace(:10,',','.'),'99999999990.00'),to_number(replace(:11,',','.'),'99999999990.00')) 
1
15
79248222
16853А
3
476
01-May-13
0
0
0
0
++++++++++++++++++ Insert Succesful ++++++++++++++++++
------------------- Insert Start -------------------
insert into dz2x (ID,FIELD,MEST,PLOS,NSKV_ID,NSKV,BLOK,GOR,DAT,NEFT,GID,ZAK,DNI) values (SEQ_DZ2X.NEXTVAL,'Северо-Альметьевск',:1,:2,:3,:4,:5,:6,TO_DATE(:7,'DD-MON-RR','NLS_DATE_LANGUAGE = American'),to_number(replace(:8,',','.'),'99999999990.00'),to_number(replace(:9,',','.'),'99999999990.00'),to_number(replace(:10,',','.'),'99999999990.00'),to_number(replace(:11,',','.'),'99999999990.00')) 
1
15
79248222
16853А
3
476
01-Jun-13
0
0
7
0,1
Вызвано исключение: "System.Data.OracleClient.OracleException" в System.Data.OracleClient.dll
Вызвано исключение: "System.Data.OracleClient.OracleException" в System.Data.OracleClient.dll
"UnprodLoad.vshost.exe" (CLR v4.0.30319: UnprodLoad.vshost.exe). Загружено "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Transactions.resources\v4.0_4.0.0.0_ru_b77a5c561934e089\System.Transactions.resources.dll". Сборка модуля выполнена без символов.
System.Transactions Critical: 0 : <TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Critical"><TraceIdentifier>http://msdn.microsoft.com/TraceCodes/System/ActivityTracing/2004/07/Reliability/Exception/Unhandled</TraceIdentifier><Description>Необработанное исключение</Description><AppDomain>UnprodLoad.vshost.exe</AppDomain><Exception><ExceptionType>System.Data.OracleClient.OracleException, System.Data.OracleClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType><Message>ORA-01722: invalid number
</Message><StackTrace>   в System.Data.OracleClient.OracleConnection.CheckError(OciErrorHandle errorHandle, Int32 rc)
   в System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle statementHandle, CommandBehavior behavior, Boolean needRowid, OciRowidDescriptor&amp;amp; rowidDescriptor, ArrayList&amp;amp; resultParameterOrdinals)
   в System.Data.OracleClient.OracleCommand.ExecuteNonQueryInternal(Boolean needRowid, OciRowidDescriptor&amp;amp; rowidDescriptor)
   в System.Data.OracleClient.OracleCommand.ExecuteNonQuery()
   в UnprodLoad.Form1.button2_Click(Object sender, EventArgs e) в C:\Users\vvf6426\Documents\Visual Studio 2015\Projects\UnprodLoad\Form1.cs:строка 240
   в System.Windows.Forms.Control.OnClick(EventArgs e)
   в System.Windows.Forms.Button.OnClick(EventArgs e)
   в System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   в System.Windows.Forms.Control.WmMouseUp(Message&amp;amp; m, MouseButtons button, Int32 clicks)
   в System.Windows.Forms.Control.WndProc(Message&amp;amp; m)
   в System.Windows.Forms.ButtonBase.WndProc(Message&amp;amp; m)
   в System.Windows.Forms.Button.WndProc(Message&amp;amp; m)
   в System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   в System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG&amp;amp; msg)
   в System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   в System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   в System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   в UnprodLoad.Program.Main() в C:\Users\vvf6426\Documents\Visual Studio 2015\Projects\UnprodLoad\Program.cs:строка 19
   в System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
   в System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
   в Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
   в System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   в System.Threading.ThreadHelper.ThreadStart()</StackTrace><ExceptionString>System.Data.OracleClient.OracleException (0x80131938): ORA-01722: invalid number

   в System.Data.OracleClient.OracleConnection.CheckError(OciErrorHandle errorHandle, Int32 rc)
   в System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle statementHandle, CommandBehavior behavior, Boolean needRowid, OciRowidDescriptor&amp;amp; rowidDescriptor, ArrayList&amp;amp; resultParameterOrdinals)
   в System.Data.OracleClient.OracleCommand.ExecuteNonQueryInternal(Boolean needRowid, OciRowidDescriptor&amp;amp; rowidDescriptor)
   в System.Data.OracleClient.OracleCommand.ExecuteNonQuery()
   в UnprodLoad.Form1.button2_Click(Object sender, EventArgs e) в C:\Users\vvf6426\Documents\Visual Studio 2015\Projects\UnprodLoad\Form1.cs:строка 240
   в System.Windows.Forms.Control.OnClick(EventArgs e)
   в System.Windows.Forms.Button.OnClick(EventArgs e)
   в System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   в System.Windows.Forms.Control.WmMouseUp(Message&amp;amp; m, MouseButtons button, Int32 clicks)
   в System.Windows.Forms.Control.WndProc(Message&amp;amp; m)
   в System.Windows.Forms.ButtonBase.WndProc(Message&amp;amp; m)
   в System.Windows.Forms.Button.WndProc(Message&amp;amp; m)
   в System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   в System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG&amp;amp; msg)
   в System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   в System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   в System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   в UnprodLoad.Program.Main() в C:\Users\vvf6426\Documents\Visual Studio 2015\Projects\UnprodLoad\Program.cs:строка 19
   в System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
   в System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
   в Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
   в System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   в System.Threading.ThreadHelper.ThreadStart()</ExceptionString></Exception></TraceRecord>

...
Рейтинг: 0 / 0
Insert Oracle
    #39326022
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cmd.Parameters.Add(new OracleParameter(" : 1", row.Cells[0].Value));
...
Рейтинг: 0 / 0
Insert Oracle
    #39326024
vadipok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВcmd.Parameters.Add(new OracleParameter(" : 1", row.Cells[0].Value));

С этим проблем не было. Ну ладно час попробую.
...
Рейтинг: 0 / 0
Insert Oracle
    #39326029
vadipok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ,

Все так же, ошибка повторяется.
Забыл написать, что когда убираю инсерт последней колонки, то отрабатывает на ура.
С типами данных и ограничениями то же все в порядке.
Скорее всего это внутренний глюк C#

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
CREATE TABLE UNPROD.DZ2X (
  ID NUMBER,
  FIELD VARCHAR2(100),
  MEST NUMBER,
  PLOS NUMBER,
  NSKV_ID NUMBER,
  NSKV VARCHAR2(10),
  BLOK NUMBER,
  GOR NUMBER,
  DAT DATE,
  NEFT NUMBER(20, 5),
  GID NUMBER(20, 5),
  ZAK NUMBER(20, 5),
  DNI NUMBER(20, 5),
  DNI_TEX_OG NUMBER(20, 5),
  DNI_PR NUMBER(20, 5),
  SPOSOB NUMBER,
  SPOSOB_NO NUMBER,
  KOD_SOST NUMBER,
  SOST VARCHAR2(30),
  SOST_NO NUMBER,
  KOD_NAZN NUMBER,
  NAZN_NO NUMBER,
  NAZN VARCHAR2(30),
  CONSTRAINT PK_DZ2X PRIMARY KEY (ID))
TABLESPACE USERS
STORAGE (
  INITIAL 64K
  NEXT 1024K
  MAXEXTENTS UNLIMITED
)
LOGGING;
...
Рейтинг: 0 / 0
Insert Oracle
    #39326043
vadipok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Получается, что ошибка именно в 0,1.
Invalid number.
Ну что может быть, наверняка есть опыт.
...
Рейтинг: 0 / 0
Insert Oracle
    #39326062
vadipok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
                    string cell10;

                    if (dataGridView1.RowCount != i+1)
                    {
                        cell10 = row.Cells[10].Value.ToString().Replace(",", ".");

                        // add parameters
                        cmd.Parameters.Add(new OracleParameter(":1", row.Cells[0].Value));
                        cmd.Parameters.Add(new OracleParameter(":2", row.Cells[1].Value));
                        cmd.Parameters.Add(new OracleParameter(":3", row.Cells[2].Value));
                        cmd.Parameters.Add(new OracleParameter(":4", row.Cells[3].Value));
                        cmd.Parameters.Add(new OracleParameter(":5", row.Cells[4].Value));
                        cmd.Parameters.Add(new OracleParameter(":6", row.Cells[5].Value));
                        cmd.Parameters.Add(new OracleParameter(":7", row.Cells[6].Value));
                        cmd.Parameters.Add(new OracleParameter(":8", row.Cells[7].Value));
                        cmd.Parameters.Add(new OracleParameter(":9", row.Cells[8].Value));
                        cmd.Parameters.Add(new OracleParameter(":10", row.Cells[9].Value));
                        cmd.Parameters.Add(new OracleParameter(":11", cell10));
                        //cmd.Parameters.Add(new OracleParameter("12", row.Cells[11].Value));
                        /*cmd.Parameters.Add(new OracleParameter("13", row.Cells[12].Value));
                        cmd.Parameters.Add(new OracleParameter("14", row.Cells[13].Value));
                        cmd.Parameters.Add(new OracleParameter("15", row.Cells[14].Value));
                        cmd.Parameters.Add(new OracleParameter("16", row.Cells[15].Value));
                        cmd.Parameters.Add(new OracleParameter("17", row.Cells[16].Value));
                        cmd.Parameters.Add(new OracleParameter("18", row.Cells[17].Value));
                        cmd.Parameters.Add(new OracleParameter("19", row.Cells[18].Value));
                        cmd.Parameters.Add(new OracleParameter("20", row.Cells[19].Value));
                        cmd.Parameters.Add(new OracleParameter("21", row.Cells[20].Value));
                        */

                        Console.WriteLine(cmd.CommandText.ToString());
                        Console.WriteLine(row.Cells[0].Value);
                        Console.WriteLine(row.Cells[1].Value);
                        Console.WriteLine(row.Cells[2].Value);
                        Console.WriteLine(row.Cells[3].Value);
                        Console.WriteLine(row.Cells[4].Value);
                        Console.WriteLine(row.Cells[5].Value);
                        Console.WriteLine(row.Cells[6].Value);
                        Console.WriteLine(row.Cells[7].Value);
                        Console.WriteLine(row.Cells[8].Value);
                        Console.WriteLine(row.Cells[9].Value);
                        Console.WriteLine(row.Cells[10].Value);
                        //Console.WriteLine(row.Cells[11].Value);
                        //Console.WriteLine(row.Cells[12].Value);
                        //Console.WriteLine(row.Cells[13].Value);
                        /*Console.WriteLine(row.Cells[14].Value);
                        Console.WriteLine(row.Cells[15].Value);
                        Console.WriteLine(row.Cells[16].Value);
                        Console.WriteLine(row.Cells[17].Value);
                        Console.WriteLine(row.Cells[18].Value);
                        Console.WriteLine(i);
                        Console.WriteLine(dataGridView1.RowCount);
                        */
                        Thread.Sleep(100);
                        cmd.ExecuteNonQuery(); // execute insert
                    }



сам решил, спасибо
...
Рейтинг: 0 / 0
Insert Oracle
    #39326088
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadipok, я думал, что вы какие-то выводы для себя сделаете... ан нет... ну - работает и слава роботам...
...
Рейтинг: 0 / 0
Insert Oracle
    #39326244
vadipok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buservadipok, я думал, что вы какие-то выводы для себя сделаете... ан нет... ну - работает и слава роботам...

Не позволительная роскошь сейчас для меня делать выводы, до конца недели надо все сделать.
...
Рейтинг: 0 / 0
Insert Oracle
    #39326793
vadipok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опять не понятная ошибка, устал уже.
Теперь при инсерте даты.
Почему так, объясните плиз.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
                string sqlInsert = "insert /*+ append */ into dz2x (ID,FIELD,MEST,PLOS,NSKV_ID,NSKV,BLOK,GOR,DAT,NEFT,GID,ZAK,DNI,DNI_TEX_OG," +
                                                                    "DNI_PR,SPOSOB,SPOSOB_NO,KOD_SOST,SOST,SOST_NO,KOD_NAZN,NAZN_NO,NAZN) ";
                // sqlInsert += "values (SEQ_DZ2X.NEXTVAL,'Северо-Альметьевск',:1,:2,:3,:4,:5,:6,TO_DATE(:7,'DD-MON-RR','NLS_DATE_LANGUAGE = American')," +
                // sqlInsert += "values (SEQ_DZ2X.NEXTVAL,'Северо-Альметьевск',:1,:2,:3,:4,:5,:6,TO_DATE(substr(:7,1,10),'DD.MM.YYYY')," +
                sqlInsert += "values (SEQ_DZ2X.NEXTVAL,'Северо-Альметьевск',:1,:2,:3,:4,:5,:6,TO_DATE(:7, 'DD.MM.YYYY HH:mi:ss')," +
                                      "to_number(replace(:8,',','.'),'99999999990.00'),to_number(replace(:9,',','.'),'99999999990.00')," +
                                      "to_number(replace(:10,',','.'),'99999999990.00'),to_number(replace(:11,',','.'),'99999999990.00')," + 
                                      "to_number(replace(:12,',','.'),'99999999990.00'),to_number(replace(:13,',','.'),'99999999990.00')," +
                                      ":14,:15,:16,:17,:18,:19,:20,:21)";

                cmd = new OracleCommand(sqlInsert, con); // Create the InsertCommand.

                OracleParameter param1 = new OracleParameter("1", "");
                OracleParameter param2 = new OracleParameter("2", "");
                OracleParameter param3 = new OracleParameter("3", "");
                OracleParameter param4 = new OracleParameter("4", "");
                OracleParameter param5 = new OracleParameter("5", "");
                OracleParameter param6 = new OracleParameter("6", "");
                OracleParameter param7 = new OracleParameter("7", "");
                OracleParameter param8 = new OracleParameter("8", "");
                OracleParameter param9 = new OracleParameter("9", "");
                OracleParameter param10 = new OracleParameter("10", "");
                OracleParameter param11 = new OracleParameter("11", "");
                OracleParameter param12 = new OracleParameter("12", "");
                OracleParameter param13 = new OracleParameter("13", "");
                OracleParameter param14 = new OracleParameter("14", "");
                OracleParameter param15 = new OracleParameter("15", "");
                OracleParameter param16 = new OracleParameter("16", "");
                OracleParameter param17 = new OracleParameter("17", "");
                OracleParameter param18 = new OracleParameter("18", "");
                OracleParameter param19 = new OracleParameter("19", "");
                OracleParameter param20 = new OracleParameter("20", "");
                OracleParameter param21 = new OracleParameter("21", "");

                cmd.Parameters.Add(param1);
                cmd.Parameters.Add(param2);
                cmd.Parameters.Add(param3);
                cmd.Parameters.Add(param4);
                cmd.Parameters.Add(param5);
                cmd.Parameters.Add(param6);
                cmd.Parameters.Add(param7);
                cmd.Parameters.Add(param8);
                cmd.Parameters.Add(param9);
                cmd.Parameters.Add(param10);
                cmd.Parameters.Add(param11);
                cmd.Parameters.Add(param12);
                cmd.Parameters.Add(param13);
                cmd.Parameters.Add(param14);
                cmd.Parameters.Add(param15);
                cmd.Parameters.Add(param16);
                cmd.Parameters.Add(param17);
                cmd.Parameters.Add(param18);
                cmd.Parameters.Add(param19);
                cmd.Parameters.Add(param20);
                cmd.Parameters.Add(param21);

                string cell6;
                string cell7;
                string cell8;
                string cell9;
                string cell10;
                string cell11;
                string cell12;

                foreach (DataGridViewRow row in this.dataGridView1.Rows)
                {
                    if (dataGridView1.RowCount != i+1)
                    {
                        cell6 = row.Cells[6].Value.ToString().Replace(",", ".");
                        cell7 = row.Cells[7].Value.ToString().Replace(",", ".");
                        cell8 = row.Cells[8].Value.ToString().Replace(",", ".");
                        cell9 = row.Cells[9].Value.ToString().Replace(",", ".");
                        cell10 = row.Cells[10].Value.ToString().Replace(",", ".");
                        cell11 = row.Cells[11].Value.ToString().Replace(",", ".");
                        cell12 = row.Cells[12].Value.ToString().Replace(",", ".");

                        param1.Value = row.Cells[0].Value;
                        param2.Value = row.Cells[1].Value;
                        param3.Value = row.Cells[2].Value;
                        param4.Value = row.Cells[3].Value;
                        param5.Value = row.Cells[4].Value;
                        param6.Value = row.Cells[5].Value;
                        param7.Value = row.Cells[6].Value;
                        param8.Value = cell7;
                        param9.Value = cell8;
                        param10.Value = cell9;
                        param11.Value = cell10;
                        param12.Value = cell11;
                        param13.Value = cell12;
                        param14.Value = row.Cells[13].Value;
                        param15.Value = row.Cells[14].Value;
                        param16.Value = row.Cells[15].Value;
                        param17.Value = row.Cells[16].Value;
                        param18.Value = row.Cells[17].Value;
                        param19.Value = row.Cells[18].Value;
                        param20.Value = row.Cells[19].Value;
                        param21.Value = row.Cells[20].Value;

                        Console.WriteLine(i.ToString()); // вывод на экран кол-ва строк
                        Console.WriteLine(param7.Value);
                        Console.WriteLine(cmd.Parameters[6].Value);
                        cmd.ExecuteNonQuery(); // execute insert
                        progressBar1.PerformStep(); // step
                    }
                    cmd.Dispose(); // free memory

                    i += 1;
                }



Ошибка:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
750
01.01.2013 0:00:00
01.01.2013 0:00:00
751
01.02.2013 0:00:00
01.02.2013 0:00:00
752
01.03.2013 0:00:00
01.03.2013 0:00:00
753
01.04.2013 0:00:00
01.04.2013 0:00:00
754
01.05.2013 0:00:00
01.05.2013 0:00:00
755
01.06.2013 0:00:00
01.06.2013 0:00:00
756
01.07.2013 0:00:00
01.07.2013 0:00:00
757
01.08.2013 0:00:00
01.08.2013 0:00:00
758
01.09.2013 0:00:00
01.09.2013 0:00:00
759
01.10.2013 0:00:00
01.10.2013 0:00:00
760
01.11.2013 0:00:00Вызвано исключение: "System.FormatException" в mscorlib.dll
Вызвано исключение: "System.FormatException" в System.Data.OracleClient.dll
Вызвано исключение: "System.FormatException" в System.Data.OracleClient.dll
"UnprodLoad.vshost.exe" (CLR v4.0.30319: UnprodLoad.vshost.exe). Загружено "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Transactions.resources\v4.0_4.0.0.0_ru_b77a5c561934e089\System.Transactions.resources.dll". Сборка модуля выполнена без символов.
System.Transactions Critical: 0 : <TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Critical"><TraceIdentifier>http://msdn.microsoft.com/TraceCodes/System/ActivityTracing/2004/07/Reliability/Exception/Unhandled</TraceIdentifier><Description>Необработанное исключение</Description><AppDomain>UnprodLoad.vshost.exe</AppDomain><Exception><ExceptionType>System.FormatException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType><Message>Не удалось преобразовать значение параметра из String в Double.</Message><StackTrace>   в System.Data.OracleClient.OracleParameter.CoerceValue(Object value, MetaType destinationType)
   в System.Data.OracleClient.OracleParameter.SetCoercedValueInternal(Object value, MetaType metaType)
   в System.Data.OracleClient.OracleParameterBinding.PrepareForBind(OracleConnection connection, Int32&amp;amp; offset)
   в System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle statementHandle, CommandBehavior behavior, Boolean needRowid, OciRowidDescriptor&amp;amp; rowidDescriptor, ArrayList&amp;amp; resultParameterOrdinals)
   в System.Data.OracleClient.OracleCommand.ExecuteNonQueryInternal(Boolean needRowid, OciRowidDescriptor&amp;amp; rowidDescriptor)
   в System.Data.OracleClient.OracleCommand.ExecuteNonQuery()
   в UnprodLoad.Form1.button2_Click(Object sender, EventArgs e) в C:\Users\vvf6426\Documents\Visual Studio 2015\Projects\UnprodLoad\Form1.cs:строка 246
   в System.Windows.Forms.Control.OnClick(EventArgs e)
   в System.Windows.Forms.Button.OnClick(EventArgs e)
   в System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   в System.Windows.Forms.Control.WmMouseUp(Message&amp;amp; m, MouseButtons button, Int32 clicks)
   в System.Windows.Forms.Control.WndProc(Message&amp;amp; m)
   в System.Windows.Forms.ButtonBase.WndProc(Message&amp;amp; m)
   в System.Windows.Forms.Button.WndProc(Message&amp;amp; m)
   в System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   в System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG&amp;amp; msg)
   в System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   в System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   в System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   в UnprodLoad.Program.Main() в C:\Users\vvf6426\Documents\Visual Studio 2015\Projects\UnprodLoad\Program.cs:строка 19
   в System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
   в System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
   в Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
   в System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   в System.Threading.ThreadHelper.ThreadStart()</StackTrace><ExceptionString>System.FormatException: Не удалось преобразовать значение параметра из String в Double. ---&amp;gt; System.FormatException: Входная строка имела неверный формат.
   в System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
   в System.String.System.IConvertible.ToDouble(IFormatProvider provider)
   в System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider)
   в System.Data.OracleClient.OracleParameter.CoerceValue(Object value, MetaType destinationType)
   --- Конец трассировки внутреннего стека исключений ---
   в System.Data.OracleClient.OracleParameter.CoerceValue(Object value, MetaType destinationType)
   в System.Data.OracleClient.OracleParameter.SetCoercedValueInternal(Object value, MetaType metaType)
   в System.Data.OracleClient.OracleParameterBinding.PrepareForBind(OracleConnection connection, Int32&amp;amp; offset)
   в System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle statementHandle, CommandBehavior behavior, Boolean needRowid, OciRowidDescriptor&amp;amp; rowidDescriptor, ArrayList&amp;amp; resultParameterOrdinals)
   в System.Data.OracleClient.OracleCommand.ExecuteNonQueryInternal(Boolean needRowid, OciRowidDescriptor&amp;amp; rowidDescriptor)
   в System.Data.OracleClient.OracleCommand.ExecuteNonQuery()
   в UnprodLoad.Form1.button2_Click(Object sender, EventArgs e) в C:\Users\vvf6426\Documents\Visual Studio 2015\Projects\UnprodLoad\Form1.cs:строка 246
   в System.Windows.Forms.Control.OnClick(EventArgs e)
   в System.Windows.Forms.Button.OnClick(EventArgs e)
   в System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   в System.Windows.Forms.Control.WmMouseUp(Message&amp;amp; m, MouseButtons button, Int32 clicks)
   в System.Windows.Forms.Control.WndProc(Message&amp;amp; m)
   в System.Windows.Forms.ButtonBase.WndProc(Message&amp;amp; m)
   в System.Windows.Forms.Button.WndProc(Message&amp;amp; m)
   в System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   в System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG&amp;amp; msg)
   в System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   в System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   в System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   в UnprodLoad.Program.Main() в C:\Users\vvf6426\Documents\Visual Studio 2015\Projects\UnprodLoad\Program.cs:строка 19
   в System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
   в System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
   в Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
   в System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   в System.Threading.ThreadHelper.ThreadStart()</ExceptionString><InnerException><ExceptionType>System.FormatException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType><Message>Входная строка имела неверный формат.</Message><StackTrace>   в System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
   в System.String.System.IConvertible.ToDouble(IFormatProvider provider)
   в System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider)
   в System.Data.OracleClient.OracleParameter.CoerceValue(Object value, MetaType destinationType)</StackTrace><ExceptionString>System.FormatException: Входная строка имела неверный формат.
   в System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
   в System.String.System.IConvertible.ToDouble(IFormatProvider provider)
   в System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider)
   в System.Data.OracleClient.OracleParameter.CoerceValue(Object value, MetaType destinationType)</ExceptionString></InnerException></Exception></TraceRecord>

01.11.2013 0:00:00
761
01.12.2013 0:00:00
01.12.2013 0:00:00
762
01.01.2014 0:00:00
01.01.2014 0:00:00
763
01.02.2014 0:00:00
01.02.2014 0:00:00
764
01.03.2014 0:00:00
01.03.2014 0:00:00
765
01.04.2014 0:00:00
01.04.2014 0:00:00
766
01.05.2014 0:00:00
01.05.2014 0:00:00
767
01.06.2014 0:00:00
01.06.2014 0:00:00
768
01.07.2014 0:00:00
01.07.2014 0:00:00
769
01.08.2014 0:00:00
01.08.2014 0:00:00
770
01.09.2014 0:00:00
01.09.2014 0:00:00
771
01.10.2014 0:00:00
01.10.2014 0:00:00
772
01.11.2014 0:00:00
01.11.2014 0:00:00
773
01.12.2014 0:00:00
01.12.2014 0:00:00
774
01.01.2015 0:00:00
01.01.2015 0:00:00
775
01.02.2015 0:00:00
01.02.2015 0:00:00
776
01.03.2015 0:00:00
01.03.2015 0:00:00
777
01.04.2015 0:00:00
01.04.2015 0:00:00
778
01.05.2015 0:00:00
01.05.2015 0:00:00
779
01.06.2015 0:00:00
01.06.2015 0:00:00
780
01.02.2010 0:00:00
01.02.2010 0:00:00



Основную работу да же не начал, застрял на инсерте.
Очень нужна помощь.
Спасибо
...
Рейтинг: 0 / 0
Insert Oracle
    #39326856
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
vadipok,

Вы неправильно работаете с параметрами.
1. Самый правильный метод - DataTable должен иметь TableAdapter, в котором хранятся все запросы с параметрами. Запросы делаются вызовом методов TableAdapter,.
2. Если лень, то тогда при создании параметра надо обязательно указывать его тип, хотя указать тип не помешает и в случае 1.
...
Рейтинг: 0 / 0
Insert Oracle
    #39326870
vadipok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2vadipok,
2. Если лень, то тогда при создании параметра надо обязательно указывать его тип, хотя указать тип не помешает и в случае 1.

Ок спасибо.
Пробывал указывать тип, не помогло.
Для 1-го случая пример не завалялся?
...
Рейтинг: 0 / 0
Insert Oracle
    #39326924
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
vadipokДля 1-го случая пример не завалялся?

Делайте не так,

cmd.Parameters.Add(new OracleParameter("1", row.Cells[0].Value));

а так

cmd.Parameters.Add("1", OraleType.ХХХХХХХ).Value = row.Cells[0].Value);
...
Рейтинг: 0 / 0
Insert Oracle
    #39326971
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2, ага, а еще лучше - посмотреть на то, что забайжено на грид... хотя... х.з.
Ну и парсить всякий кал,а тем более позволять его вписывать в грид, даже для sql задача не самая типичная... делайте парсинг на стороне C#
...
Рейтинг: 0 / 0
Insert Oracle
    #39326991
vadipok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2vadipokДля 1-го случая пример не завалялся?

Делайте не так,

cmd.Parameters.Add(new OracleParameter("1", row.Cells[0].Value));

а так

cmd.Parameters.Add("1", OraleType.ХХХХХХХ).Value = row.Cells[0].Value);

Спасибо! Заработало.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
            foreach (DataGridViewRow row in this.dataGridView1.Rows)
            {
                if (dataGridView1.RowCount != i + 1)
                {
                    OracleCommand cmd; // oracle cmd

                    cmd = new OracleCommand(sqlInsert, con); // Create the InsertCommand.

                    cmd.Parameters.Add(new OracleParameter("1", "")).Value = row.Cells[0].Value;
                    cmd.Parameters.Add(new OracleParameter("2", "")).Value = row.Cells[1].Value;
                    cmd.Parameters.Add(new OracleParameter("3", "")).Value = row.Cells[2].Value;
                    cmd.Parameters.Add(new OracleParameter("4", "")).Value = row.Cells[3].Value;
                    cmd.Parameters.Add(new OracleParameter("5", "")).Value = row.Cells[4].Value;
                    cmd.Parameters.Add(new OracleParameter("6", "")).Value = row.Cells[5].Value;
                    cmd.Parameters.Add(new OracleParameter("7", OracleType.NVarChar)).Value = row.Cells[6].Value;
                    cmd.Parameters.Add(new OracleParameter("8", "")).Value = row.Cells[7].Value;
                    cmd.Parameters.Add(new OracleParameter("9", "")).Value = row.Cells[8].Value;
                    cmd.Parameters.Add(new OracleParameter("10", "")).Value = row.Cells[9].Value;
                    cmd.Parameters.Add(new OracleParameter("11", "")).Value = row.Cells[10].Value;
                    cmd.Parameters.Add(new OracleParameter("12", "")).Value = row.Cells[11].Value;
                    cmd.Parameters.Add(new OracleParameter("13", "")).Value = row.Cells[12].Value;
                    cmd.Parameters.Add(new OracleParameter("14", "")).Value = row.Cells[13].Value;
                    cmd.Parameters.Add(new OracleParameter("15", "")).Value = row.Cells[14].Value;
                    cmd.Parameters.Add(new OracleParameter("16", "")).Value = row.Cells[15].Value;
                    cmd.Parameters.Add(new OracleParameter("17", "")).Value = row.Cells[16].Value;
                    cmd.Parameters.Add(new OracleParameter("18", "")).Value = row.Cells[17].Value;
                    cmd.Parameters.Add(new OracleParameter("19", "")).Value = row.Cells[18].Value;
                    cmd.Parameters.Add(new OracleParameter("20", "")).Value = row.Cells[19].Value;
                    cmd.Parameters.Add(new OracleParameter("21", "")).Value = row.Cells[20].Value;

                    Console.WriteLine(i.ToString()); // вывод на экран кол-ва строк
                    Console.WriteLine(cmd.Parameters[6].Value);
                    Console.WriteLine(row.Cells[6].ValueType);
                    cmd.ExecuteNonQuery(); // execute insert
                    progressBar1.PerformStep(); // step
                    cmd.Dispose(); // free memory
                }
                i += 1;
            }
...
Рейтинг: 0 / 0
Insert Oracle
    #39328031
vadipok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опять не работает. )))
Как вы все разрабатываете на C#?!
Я да же con.Open() con.Close() засунул внутрь.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
            progressBar1.Value = 1; // Set the initial value of the ProgressBar.
            progressBar1.Maximum = dataGridView1.RowCount; // Set Maximum to the total number of files to copy.

            OracleConnection con = new OracleConnection();
            con.ConnectionString = "User Id=unprod;Password=unprod;Data Source=XE;";

            int i = 0;

            string sqlInsert = "insert /*+ append */ into davl (FIELD_ID, NSKV, GOD, MES, P_ZB, P_PL) ";
            sqlInsert += "values (1,:1,:2,:3,to_number(replace(:4,',','.'),'99999999990.00'),to_number(replace(:5,',','.'),'99999999990.00'))";

            foreach (DataGridViewRow row in this.dataGridView1.Rows)
            {
                if (dataGridView1.RowCount != i + 1)
                {
                    con.Open();

                    OracleCommand cmd; // oracle cmd
                    cmd = new OracleCommand(sqlInsert, con); // Create the InsertCommand.

                    cmd.Parameters.Add(new OracleParameter("1", "")).Value = row.Cells[0].Value;
                    cmd.Parameters.Add(new OracleParameter("2", "")).Value = row.Cells[1].Value;
                    cmd.Parameters.Add(new OracleParameter("3", "")).Value = row.Cells[2].Value;
                    cmd.Parameters.Add(new OracleParameter("4", "")).Value = row.Cells[3].Value;
                    cmd.Parameters.Add(new OracleParameter("5", "")).Value = row.Cells[4].Value;

                    cmd.ExecuteNonQuery(); // execute insert
                    progressBar1.PerformStep(); // step
                    cmd.Dispose(); // free memory
                    con.Close();
                }
                i += 1;
            }



Вот абсолютно одинаковое оформление, и тут кукиш показывает мне С#.
Инсертит 5 тысяч строк а потом встает.
Даже так эта сволочь не собирается работать:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
            progressBar1.Value = 1; // Set the initial value of the ProgressBar.
            progressBar1.Maximum = dataGridView1.RowCount; // Set Maximum to the total number of files to copy.

            int i = 0;

            string sqlInsert = "insert /*+ append */ into davl (FIELD_ID, NSKV, GOD, MES, P_ZB, P_PL) ";
            sqlInsert += "values (1,:1,:2,:3,to_number(replace(:4,',','.'),'99999999990.00'),to_number(replace(:5,',','.'),'99999999990.00'))";

            foreach (DataGridViewRow row in this.dataGridView1.Rows)
            {
                if (dataGridView1.RowCount != i + 1)
                {
                    OracleConnection con = new OracleConnection();
                    con.ConnectionString = "User Id=unprod;Password=unprod;Data Source=XE;";
                    con.Open();

                    OracleCommand cmd; // oracle cmd
                    cmd = new OracleCommand(sqlInsert, con); // Create the InsertCommand.

                    cmd.Parameters.Add(new OracleParameter("1", "")).Value = row.Cells[0].Value;
                    cmd.Parameters.Add(new OracleParameter("2", "")).Value = row.Cells[1].Value;
                    cmd.Parameters.Add(new OracleParameter("3", "")).Value = row.Cells[2].Value;
                    cmd.Parameters.Add(new OracleParameter("4", "")).Value = row.Cells[3].Value;
                    cmd.Parameters.Add(new OracleParameter("5", "")).Value = row.Cells[4].Value;

                    cmd.ExecuteNonQuery(); // execute insert
                    progressBar1.PerformStep(); // step
                    cmd.Dispose(); // free memory
                    con.Close();
                }
                i += 1;
            }



Не в обиду, но C# - это последнее, на чем надо разрабатывать.
Более глючного языка я еще не видел.
...
Рейтинг: 0 / 0
Insert Oracle
    #39328034
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadipokОпять не работает. )))
Как вы все разрабатываете на C#?!


Не в обиду, но C# - это последнее, на чем надо разрабатывать.
Более глючного языка я еще не видел.
Плохому танцору поможет хороший хирург :)
...
Рейтинг: 0 / 0
Insert Oracle
    #39328036
vadipok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВvadipokОпять не работает. )))
Как вы все разрабатываете на C#?!


Не в обиду, но C# - это последнее, на чем надо разрабатывать.
Более глючного языка я еще не видел.
Плохому танцору поможет хороший хирург :)


Есть возможность обойтись без хирурга?
Веть предыдущий работает, а этот не пашет.
...
Рейтинг: 0 / 0
Insert Oracle
    #39328037
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Insert Oracle
    #39328038
vadipok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buser,

Админ отключил сторонние картинки, я не вижу.
...
Рейтинг: 0 / 0
Insert Oracle
    #39328054
vadipok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблему решил.
В исходном файле Excel поменял формат колонок P_ZB, P_PL на текстовый и заработало.
По-моему дурацкое решение. )))))
...
Рейтинг: 0 / 0
Insert Oracle
    #39334343
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadipok,

проблема скорее всего в разделителе целой и дробной части в числах (в экселе точка в оракле запятая или наоборот)

но главная проблема в том, что ты пихаешь в команду не типизированные параметы
...
Рейтинг: 0 / 0
Insert Oracle
    #39335411
vadipok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pationvadipok,

проблема скорее всего в разделителе целой и дробной части в числах (в экселе точка в оракле запятая или наоборот)

но главная проблема в том, что ты пихаешь в команду не типизированные параметы

Да, так и есть.
Потом начал заменять в Excel исходники и заработало.
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Insert Oracle
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]