|
|
ผมต้องการ insert ข้อมูลลง Oracle แต่ทำไม่ได้ แสดง ORA-00936: missing expression ตลอด แต่หาเท่าไหร่ก็หาไม่เจอว่าผิดตรงไหน เพราะลองนำข้อมูลไป insert ด้วย Toad แล้วก็ insert ได้ปกติ ช่วยดูหน่อยครับ ขอบคุณครับ
ปล.ใช้ DBClass ของคุณ pheak https://www.thaicreate.com/dotnet/forum/055716.html
DBClass.cs บางส่วน
//Oracle Class
#region Oracle
public DataSet OracleGet(string sql, string tblName)
{
OracleConnection conn = new ConnectDB().OracleStrCon(BillConnStr);
OracleDataAdapter da = new OracleDataAdapter(sql, conn);
DataSet ds = new DataSet();
da.Fill(ds, tblName);
return ds;
}
public DataSet OracleGet(string sql, string tblName, OracleParameterCollection parameters)
{
OracleConnection conn = new ConnectDB().OracleStrCon(BillConnStr);
OracleDataAdapter da = new OracleDataAdapter(sql, conn);
DataSet ds = new DataSet();
foreach (OracleParameter param in parameters)
{
da.SelectCommand.Parameters.Add(param.ParameterName, param.OracleDbType).Value = param.Value;
}
da.Fill(ds, tblName);
return ds;
}
public int OracleExecute(string sql)
{
int i;
OracleConnection conn = new ConnectDB().OracleStrCon(BillConnStr);
OracleCommand cmd = new OracleCommand(sql, conn);
conn.Open();
i = cmd.ExecuteNonQuery();
conn.Close();
return i;
}
public int OracleExcute(string sql, OracleParameterCollection parameters)
{
int i;
OracleConnection conn = new ConnectDB().OracleStrCon(BillConnStr);
OracleCommand cmd = new OracleCommand(sql, conn);
foreach (OracleParameter param in parameters)
{
cmd.Parameters.Add(param.ParameterName, param.OracleDbType).Value = param.Value;
}
conn.Open();
i = cmd.ExecuteNonQuery();
conn.Close();
return i;
}
#endregion
Code (C#)
for (int r = 0; r < dtUNIT_MASTER_ToBill.Rows.Count; r++)
{
sql = "insert into UNIT_MASTER (USER_SEQ,BILL_PERIOD,USERNAME,USERADDR,USERTYPE,METER_TYPE,CALC_CODE,PRESSURE_CODE,SERIAL_NO,PEA_NO,INSTALL_DATE,PHASE_CODE,MULTI_UNIT,CURR_UNIT1) ";
sql += "values(@user_seq,@bill_period,@username,@useraddress,@usertype,@meter_type,@calc_code,@pressure_code,@serialnumber,@peanumber,to_date(@install_date,'DD/MM/YYYY HH24:MI:SS'),@phase_code,@multi_unit,@curr_unit1); ";
OracleParameterCollection param = new OracleCommand().Parameters;
param.Add("user_seq", OracleDbType.Char).Value = dtUNIT_MASTER_ToBill.Rows[r]["USER_SEQ"].ToString();
param.Add("bill_period", OracleDbType.Char).Value = dtUNIT_MASTER_ToBill.Rows[r]["BILL_PERIOD"].ToString();
param.Add("username", OracleDbType.Varchar2).Value = dtUNIT_MASTER_ToBill.Rows[r]["USERNAME"].ToString();
param.Add("useraddress", OracleDbType.Varchar2).Value = dtUNIT_MASTER_ToBill.Rows[r]["USERADDR"].ToString();
param.Add("usertype", OracleDbType.Char).Value = dtUNIT_MASTER_ToBill.Rows[r]["USERTYPE"].ToString();
param.Add("meter_type", OracleDbType.Char).Value = dtUNIT_MASTER_ToBill.Rows[r]["METER_TYPE"].ToString();
param.Add("calc_code", OracleDbType.Char).Value = dtUNIT_MASTER_ToBill.Rows[r]["CALC_CODE"].ToString();
param.Add("pressure_code", OracleDbType.Char).Value = dtUNIT_MASTER_ToBill.Rows[r]["PRESSURE_CODE"].ToString();
param.Add("serialnumber", OracleDbType.Char).Value = dtUNIT_MASTER_ToBill.Rows[r]["SERIAL_NO"].ToString();
param.Add("peanumber", OracleDbType.Char).Value = dtUNIT_MASTER_ToBill.Rows[r]["PEA_NO"].ToString();
param.Add("install_date", OracleDbType.Date).Value = Convert.ToDateTime(dtUNIT_MASTER_ToBill.Rows[r]["INSTALL_DATE"]);
param.Add("phase_code", OracleDbType.Char).Value = dtUNIT_MASTER_ToBill.Rows[r]["PHASE_CODE"].ToString();
param.Add("multi_unit", OracleDbType.Double).Value = Convert.ToDouble(dtUNIT_MASTER_ToBill.Rows[r]["MULTI_UNIT"]);
param.Add("curr_unit1", OracleDbType.Double).Value = Convert.ToDouble(dtUNIT_MASTER_ToBill.Rows[r]["CURR_UNIT1"]);
int i = new DBClass().OracleExcute(sql, param);
}
DataTable dtUNIT_MASTER_ToBill
000001,255705,การไฟฟ้า,ที่อยู่1,00,1,1,4,211339448,211339448,30/3/2557 0:00:00,3,1,4786120.14610851
0 000001,255709,การไฟฟ้า,ที่อยู่1,00,1,1,4,211339448,211339448,30/3/2557 0:00:00,3,1,5792757.12572683
0 000004,255705,การไฟฟ้า,ที่อยู่1,00,1,1,4,212501419,212501419,30/3/2557 0:00:00,3,1,1441221
0 000004,255709,การไฟฟ้า,ที่อยู่1,00,1,1,4,212501419,212501419,30/3/2557 0:00:00,3,1,2689658
0 000004,255710,การไฟฟ้า,ที่อยู่1,00,1,1,4,212501419,212501419,30/3/2557 0:00:00,3,1,3002378
0 000005,255705,การไฟฟ้า,ที่อยู่1,00,1,1,4,212501454,212501454,30/3/2557 0:00:00,3,1,702718
0 000005,255709,การไฟฟ้า,ที่อยู่1,00,1,1,4,212501454,212501454,30/3/2557 0:00:00,3,1,1428022
0 000005,255710,การไฟฟ้า,ที่อยู่1,00,1,1,4,212501454,212501454,30/3/2557 0:00:00,3,1,1611240
Tag : .NET, Oracle, Win (Windows App), C#
|
ประวัติการแก้ไข 2014-10-06 16:17:58 2014-10-06 16:19:05 2014-10-06 16:20:35 2014-10-06 16:23:18
|
|
|
|
|
Date :
2014-10-06 16:14:08 |
By :
snowbell |
View :
1978 |
Reply :
2 |
|
|
|
|
|
|
|
|
|