private void _InitSqlLst() { // if (queryLst != null) { return; } if (con == null) { throw new InvalidOperationException(); } var querylst = new List <string>(); string s; var cat = new ADOX.Catalog(); var cmd = new ADODB.Command(); queryLst = new List <Query>(); //アクションクエリ var rs = con.OpenSchema(ADODB.SchemaEnum.adSchemaProcedures); while (!rs.EOF) { s = rs.Fields["PROCEDURE_NAME"].Value.ToString(); rs.MoveNext(); if (!s.StartsWith("~")) { querylst.Add(s); } } cat.ActiveConnection = con; foreach (var q in querylst) { // cmd = (ADODB.Command)cat.Procedures[q].Command; var sql = cmd.CommandText.ToUpper(); //var name = cmd.Name; var name = q; if (!(sql.StartsWith("UPDATE") || sql.StartsWith("INSERT"))) { return; } var query = new Query(name, sql); queryLst.Add(query); //if (sql.StartsWith("UPDATE")) // updateSqlLst.Add(sql); //if (sql.StartsWith("INSERT")) // insertSqlLst.Add(sql); } }
public ArrayList listOfCatalogs(out string errorMessage) { try { listCatalogs.Clear(); rsSchema = dbConn.OpenSchema(ADODB.SchemaEnum.adSchemaCatalogs, Missing.Value, Missing.Value); while (!rsSchema.EOF) { listCatalogs.Add(rsSchema.Fields[0].Value); rsSchema.MoveNext(); } errorMessage = ""; } catch (Exception e) { errorMessage = e.Source + " " + e.Message; MessageBox.Show(e.Source + " " + e.Message); } return(listCatalogs); }