|
@@ -53,7 +53,7 @@ namespace UAS_LabelMachine
|
|
|
//泽天FTP内网
|
|
//泽天FTP内网
|
|
|
public static readonly string FTPAdress = "ftp://10.2.10.241|uas|Lz201478c";
|
|
public static readonly string FTPAdress = "ftp://10.2.10.241|uas|Lz201478c";
|
|
|
//Oracle端口
|
|
//Oracle端口
|
|
|
- public static readonly string OraclePort = "1521";
|
|
|
|
|
|
|
+ public static readonly string OraclePort = "1521";
|
|
|
//需要显示的账套
|
|
//需要显示的账套
|
|
|
public static readonly string Masters = "ZT_TEST,ZT";
|
|
public static readonly string Masters = "ZT_TEST,ZT";
|
|
|
//用户选择的数据库的连接字符串
|
|
//用户选择的数据库的连接字符串
|
|
@@ -132,34 +132,30 @@ namespace UAS_LabelMachine
|
|
|
DataTable dt = new DataTable();
|
|
DataTable dt = new DataTable();
|
|
|
string sql = "select " + Field + " from " + TableName + " where " + Condition;
|
|
string sql = "select " + Field + " from " + TableName + " where " + Condition;
|
|
|
command = new OracleCommand(sql, connection);
|
|
command = new OracleCommand(sql, connection);
|
|
|
|
|
+ Reconnect(command);
|
|
|
OracleDataAdapter ad = new OracleDataAdapter();
|
|
OracleDataAdapter ad = new OracleDataAdapter();
|
|
|
ad.SelectCommand = command;
|
|
ad.SelectCommand = command;
|
|
|
try
|
|
try
|
|
|
{
|
|
{
|
|
|
ad.Fill(dt);
|
|
ad.Fill(dt);
|
|
|
- ReconnectTime = 0;
|
|
|
|
|
}
|
|
}
|
|
|
catch (Exception)
|
|
catch (Exception)
|
|
|
{
|
|
{
|
|
|
- if (ReconnectTime == 0)
|
|
|
|
|
- {
|
|
|
|
|
- ReconnectTime++;
|
|
|
|
|
- connection = new OracleConnection(DBConnectionString);
|
|
|
|
|
- //成功执行后将重复连接数置为0
|
|
|
|
|
- dt = (DataTable)getFieldDataByCondition(TableName, Field, Condition);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ connection = new OracleConnection(DBConnectionString);
|
|
|
|
|
+ connection.Open();
|
|
|
|
|
+ command = new OracleCommand(sql, connection);
|
|
|
|
|
+ ad = new OracleDataAdapter();
|
|
|
|
|
+ ad.SelectCommand = command;
|
|
|
|
|
+ ad.Fill(dt);
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+ ad.Dispose();
|
|
|
|
|
+ command.Dispose();
|
|
|
if (dt.Rows.Count > 0)
|
|
if (dt.Rows.Count > 0)
|
|
|
{
|
|
{
|
|
|
- ad.Dispose();
|
|
|
|
|
- command.Dispose();
|
|
|
|
|
return dt.Rows[0][0];
|
|
return dt.Rows[0][0];
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
- ad.Dispose();
|
|
|
|
|
- command.Dispose();
|
|
|
|
|
return "";
|
|
return "";
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -804,6 +800,7 @@ namespace UAS_LabelMachine
|
|
|
{
|
|
{
|
|
|
object result = null;
|
|
object result = null;
|
|
|
command = new OracleCommand(SQL, connection);
|
|
command = new OracleCommand(SQL, connection);
|
|
|
|
|
+ Reconnect(command);
|
|
|
//用来拼接参数的
|
|
//用来拼接参数的
|
|
|
if (names.Length > 0)
|
|
if (names.Length > 0)
|
|
|
{
|
|
{
|
|
@@ -828,30 +825,65 @@ namespace UAS_LabelMachine
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
for (int i = 0; i < addpar.Length; i++)
|
|
for (int i = 0; i < addpar.Length; i++)
|
|
|
- {
|
|
|
|
|
command.Parameters.Add(new OracleParameter(addpar[i].ToString(), OracleDbType.Varchar2, names[i], ParameterDirection.Input));
|
|
command.Parameters.Add(new OracleParameter(addpar[i].ToString(), OracleDbType.Varchar2, names[i], ParameterDirection.Input));
|
|
|
- }
|
|
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
switch (Type.ToUpper())
|
|
switch (Type.ToUpper())
|
|
|
{
|
|
{
|
|
|
case "SELECT":
|
|
case "SELECT":
|
|
|
- result = new DataTable();
|
|
|
|
|
OracleDataAdapter ad = new OracleDataAdapter(command);
|
|
OracleDataAdapter ad = new OracleDataAdapter(command);
|
|
|
- ad.Fill((DataTable)result);
|
|
|
|
|
- ad.Dispose();
|
|
|
|
|
- //成功执行后将重复连接数置为0
|
|
|
|
|
|
|
+ result = new DataTable();
|
|
|
|
|
+ try
|
|
|
|
|
+ {
|
|
|
|
|
+ ad.Fill((DataTable)result);
|
|
|
|
|
+ }
|
|
|
|
|
+ catch (Exception)
|
|
|
|
|
+ {
|
|
|
|
|
+ connection = new OracleConnection(DBConnectionString);
|
|
|
|
|
+ connection.Open();
|
|
|
|
|
+ command = new OracleCommand(SQL, connection);
|
|
|
|
|
+ ad = new OracleDataAdapter();
|
|
|
|
|
+ ad.SelectCommand = command;
|
|
|
|
|
+ ad.Fill((DataTable)result);
|
|
|
|
|
+ }
|
|
|
break;
|
|
break;
|
|
|
case "DELETE":
|
|
case "DELETE":
|
|
|
- result = command.ExecuteNonQuery();
|
|
|
|
|
|
|
+ try
|
|
|
|
|
+ {
|
|
|
|
|
+ result = command.ExecuteNonQuery();
|
|
|
|
|
+ }
|
|
|
|
|
+ catch (Exception)
|
|
|
|
|
+ {
|
|
|
|
|
+ command.Connection = new OracleConnection(DBConnectionString);
|
|
|
|
|
+ command.Connection.Open();
|
|
|
|
|
+ result = command.ExecuteNonQuery();
|
|
|
|
|
+ }
|
|
|
break;
|
|
break;
|
|
|
case "UPDATE":
|
|
case "UPDATE":
|
|
|
- result = command.ExecuteNonQuery();
|
|
|
|
|
|
|
+ try
|
|
|
|
|
+ {
|
|
|
|
|
+ result = command.ExecuteNonQuery();
|
|
|
|
|
+ }
|
|
|
|
|
+ catch (Exception)
|
|
|
|
|
+ {
|
|
|
|
|
+ command.Connection = new OracleConnection(DBConnectionString);
|
|
|
|
|
+ command.Connection.Open();
|
|
|
|
|
+ result = command.ExecuteNonQuery();
|
|
|
|
|
+ }
|
|
|
break;
|
|
break;
|
|
|
case "INSERT":
|
|
case "INSERT":
|
|
|
- command.ExecuteNonQuery();
|
|
|
|
|
|
|
+ try
|
|
|
|
|
+ {
|
|
|
|
|
+ result = command.ExecuteNonQuery();
|
|
|
|
|
+ }
|
|
|
|
|
+ catch (Exception)
|
|
|
|
|
+ {
|
|
|
|
|
+ command.Connection = new OracleConnection(DBConnectionString);
|
|
|
|
|
+ command.Connection.Open();
|
|
|
|
|
+ result = command.ExecuteNonQuery();
|
|
|
|
|
+ }
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
command.Dispose();
|
|
command.Dispose();
|
|
|
return result;
|
|
return result;
|
|
|
}
|
|
}
|
|
@@ -1200,5 +1232,14 @@ namespace UAS_LabelMachine
|
|
|
}
|
|
}
|
|
|
return param;
|
|
return param;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ private void Reconnect(OracleCommand cmd)
|
|
|
|
|
+ {
|
|
|
|
|
+ if (cmd.Connection.State == ConnectionState.Closed)
|
|
|
|
|
+ {
|
|
|
|
|
+ cmd.Connection.Open();
|
|
|
|
|
+ LogManager.DoLog("超时重连");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|