java linq 查询数据库,Linq通过SQL_Query执行SQL语句

#region BAS_SQL_Query

public static int BAS_SQL_Query(ref BASCoreType.BAS_SQL_Query_In_Tag SQL_Query_In, ref BASCoreType.BAS_SQL_Query_Out_Tag SQL_Query_Out)

{

ModelContext ctx = new ModelContext();

DbConnection conn = ctx.Database.GetDbConnection();

DbCommand cmd = conn.CreateCommand();

conn.Open();

try

{

string sMsgCode = "";

SQL_Query_Out._cmn_out._status_value = GlobalConstant.RESULT_ERROR;

int iCurRow = 0;

SQL_Query_Out._size_row = 0;

SQL_Query_Out.row_count = 0;

SQL_Query_Out.col_count = 0;

SQL_Query_Out.next_row = 0;

SQL_Query_In.sql = StringUtil.Trim(SQL_Query_In.sql);

if (SQL_Query_In.sql == "")

{

sMsgCode = "ETC-0001";

SQL_Query_Out._cmn_out._field_msg = "SQL Query";

return 0;

}

bool bSelect = false;

if (StringUtil.Mid(SQL_Query_In.sql, 0, 6).ToUpper() == "SELECT")

{

bSelect = true;

}

else if (StringUtil.Mid(SQL_Query_In.sql, 0, 4).ToUpper() == "WITH")

{

bSelect = true;

}

else if (StringUtil.Mid(SQL_Query_In.sql, 0, 5).ToUpper() == ";WITH")

{

bSelect = true;

}

else if (StringUtil.Mid(SQL_Query_In.sql, 0, 6).ToUpper() == "UPDATE")

{

bSelect = false;

}

else if (StringUtil.Mid(SQL_Query_In.sql, 0, 6).ToUpper() == "INSERT")

{

bSelect = false;

}

else if (StringUtil.Mid(SQL_Query_In.sql, 0, 6).ToUpper() == "DELETE")

{

bSelect = false;

}

else if (StringUtil.Mid(SQL_Query_In.sql, 0, 6).ToUpper() == "#PROSEL")

{

bSelect = true;

}

else

{

bSelect = true;

//Msg_Code = "ETC-0009";

//SQL_Query_Out._cmn_out._field_msg = "SQL = " + StringUtil.Mid(SQL_Query_In.sql, 0, 100);

//return false;

}

if (!bSelect)

{

cmd.CommandText = SQL_Query_In.sql;

cmd.ExecuteNonQuery();

conn.Close();

}

else

{

DataTable table = new DataTable();

cmd.CommandText = SQL_Query_In.sql;

DbDataReader reader = cmd.ExecuteReader();

table.Load(reader);

reader.Close();

conn.Close();

SQL_Query_Out.col_count = table.Columns.Count;

int iRows = table.Rows.Count;

for (int i = SQL_Query_In.next_row; i < iRows; i++)

{

if (iCurRow >= GlobalVariable.giMaxRecordsRows)

{

SQL_Query_Out.next_row = i;

break;

}

Array.Resize(ref SQL_Query_Out.row, iCurRow + 1);

SQL_Query_Out.row[iCurRow].col = new BASCoreType.BAS_SQL_Query_Out_Tag_row_col[SQL_Query_Out.col_count + 1];

SQL_Query_Out.row[iCurRow]._size_col = SQL_Query_Out.col_count;

for (int j = 0; j < SQL_Query_Out.col_count; j++)

{

if (table.Rows[i][j] == DBNull.Value)

{

SQL_Query_Out.row[iCurRow].col[j].name = "";

SQL_Query_Out.row[iCurRow].col[j].type = "";

SQL_Query_Out.row[iCurRow].col[j].size = "";

SQL_Query_Out.row[iCurRow].col[j].data = "";

}

else

{

SQL_Query_Out.row[iCurRow].col[j].name = table.Columns[j].ColumnName.ToString();

SQL_Query_Out.row[iCurRow].col[j].type = table.Columns[j].DataType.ToString();

SQL_Query_Out.row[iCurRow].col[j].size = StringUtil.ToString(table.Columns[j].MaxLength);

SQL_Query_Out.row[iCurRow].col[j].data = StringUtil.ToString(table.Rows[i][j]);

}

}

iCurRow++;

}

}

SQL_Query_Out.row_count = iCurRow;

SQL_Query_Out._size_row = iCurRow;

SQL_Query_Out._cmn_out._status_value = GlobalConstant.RESULT_SUCCESS;

if (sMsgCode != "")

{

SQL_Query_Out._cmn_out._msg_code = sMsgCode;

SQL_Query_Out._cmn_out._db_err_msg = DBGV._dbc.gErrors.ErrMsg;

CommonFunction.COM_GetErrorMsg(SQL_Query_In._cmn_in._language, sMsgCode, ref SQL_Query_Out._cmn_out._msg);

GlobalVariable.gLog.AddLog(sMsgCode, SQL_Query_Out._cmn_out._msg);

GlobalVariable.gLog.AddLog("FIELD_MSG", SQL_Query_Out._cmn_out._field_msg);

GlobalVariable.gLog.LogWrite("ERROR " + CommonFunction.gCOM_Msg_Title, "E");

}

}

catch (Exception ex)

{

SQL_Query_Out._cmn_out._status_value = GlobalConstant.RESULT_ERROR;

SQL_Query_Out._cmn_out._msg = ex.Message;

}

finally

{

if (conn.State != ConnectionState.Closed)

{

conn.Close();

}

}

return 0;

}

#endregion

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值