我有一个java sql查询,我需要转换为c#查询是否有任何转换或任何人知道如何转换它
java查询
countQuery = "SELECT " + TRAINING_PLAN_TRAINEEID + ", count(*) from " + TABLE_TRAINING_PLAN + " WHERE "
+ TRAINING_PLAN_TRAINEEID + " IN (SELECT "
+ GRP_EMPLOYEE_USERID + " FROM " + TABLE_GRP_EMPLOYEE + " WHERE " + GRP_EMPLOYEE_SITEID + " =? and "
+ GRP_EMPLOYEE_ISACTIVE + " ==1) and "
+ TRAINING_PLAN_STATUS + " ==2 and " + TRAINING_PLAN_ISACTIVE + " ==1 group by "
+ TRAINING_PLAN_TRAINEEID;
//countQuery = "SELECT * FROM " + TABLE_TRAINING_PLAN + " WHERE " + TRAINING_PLAN_SITEID + " == '" + SiteId + "'";
cur_completed = db.rawQuery(countQuery, whereArgs);
我试过这个,但是不起作用
SqliteCommand COMPLETED = new SqliteCommand("SELECT TRAINING_PLAN_TRAINEEID,count(TRAINING_PLAN_TRAINEEID) from TABLE_TRAINING_PLAN " +
"WHERE TRAINING_PLAN_TRAINEEID IN(SELECT GRP_EMPLOYEE_USERID FROM TABLE_GRP_EMPLOYEE WHERE GRP_EMPLOYEE_SITEID=GRP_EMPLOYEE_SITEID and GRP_EMPLOYEE_ISACTIVE ==1) " +
"and TRAINING_PLAN_STATUS ==2 and TRAINING_PLAN_ISACTIVE ==1 group by TRAINING_PLAN_TRAINEEID", db);
var cur_completed = COMPLETED.ExecuteReader();
完整代码为
using (SqliteConnection db =
new SqliteConnection($"Filename={dbpath}"))
{
db.Open();
var command = db.CreateCommand();
command.CommandText = ("SELECT EMPLOYEE_ID,EMPLOYEE_UNIQUEID,EMPLOYEE_FIRSTNAME,EMPLOYEE_LASTNAME,EMPLOYEE_DOB,EMPLOYEE_ISACTIVE,EMPLOYEE_TSTATUS,EMPLOYEE_IMAGEPATH,EMPLOYEE_DIRTYFLAG,EMPLOYEE_ACT_COUNT,EMPLOYEE_COMPLETED_COUNT,EMPLOYEE_NOTCOMPLETED_COUNT,EMPLOYEE_PENDING_COUNT FROM TABLE_EMPLOYEE " +
"WHERE EMPLOYEE_ID IN(SELECT GRP_EMPLOYEE_USERID FROM TABLE_GRP_EMPLOYEE WHERE GRP_EMPLOYEE_SITEID = GRP_EMPLOYEE_SITEID and GRP_EMPLOYEE_ISACTIVE ==1)");
using (var empQuery = command.ExecuteReader())
{
while (empQuery.Read())
{
SqliteCommand COMPLETED = new SqliteCommand("SELECT TRAINING_PLAN_TRAINEEID,count(TRAINING_PLAN_TRAINEEID) from TABLE_TRAINING_PLAN " +
"WHERE TRAINING_PLAN_TRAINEEID IN (SELECT GRP_EMPLOYEE_USERID FROM TABLE_GRP_EMPLOYEE WHERE GRP_EMPLOYEE_SITEID=GRP_EMPLOYEE_SITEID and GRP_EMPLOYEE_ISACTIVE ==1) " +
"and TRAINING_PLAN_STATUS ==2 and TRAINING_PLAN_ISACTIVE ==1 group by TRAINING_PLAN_TRAINEEID", db);
var cur_completed = COMPLETED.ExecuteReader();
SqliteCommand notcompleted = new SqliteCommand("SELECT TRAINING_PLAN_TRAINEEID,COUNT(TRAINING_PLAN_TRAINEEID) from TABLE_TRAINING_PLAN " +
"WHERE TRAINING_PLAN_TRAINEEID IN (SELECT GRP_EMPLOYEE_USERID from TABLE_GRP_EMPLOYEE WHERE GRP_EMPLOYEE_SITEID=GRP_EMPLOYEE_SITEID and GRP_EMPLOYEE_ISACTIVE ==1) " +
"And TRAINING_PLAN_STATUS !=2 And TRAINING_PLAN_ISACTIVE ==1 group by TRAINING_PLAN_TRAINEEID", db);
var cur_notcompleted = notcompleted.ExecuteReader();
SqliteCommand pending = new SqliteCommand("SELECT TRAINING_PLAN_TRAINEEID,COUNT(TRAINING_PLAN_TRAINEEID) from TABLE_TRAINING_PLAN WHERE TRAINING_PLAN_TRAINEEID IN" +
"(SELECT GRP_EMPLOYEE_USERID FROM TABLE_GRP_EMPLOYEE WHERE GRP_EMPLOYEE_SITEID=GRP_EMPLOYEE_SITEID and GRP_EMPLOYEE_ISACTIVE == 1)" +
"and TRAINING_PLAN_STATUS == 4 and TRAINING_PLAN_ISACTIVE == 1 group by TRAINING_PLAN_TRAINEEID", db);
var cur_pending = pending.ExecuteReader();
1条答案
按热度按时间yacmzcpb1#