public object SubmitQuery(string url, string sql) { Hashtable result = new Hashtable(); try { DomainUrl domainUrl = new DomainUrl(url); Driver driver = DriverFactory.GetDriver(domainUrl); using (IDbConnection dbConnection = driver.OpenConnection()) { IDbCommand command = driver.GetDbCommand(sql, dbConnection); IDbDataAdapter adapter = driver.GetDbDataAdapter(); adapter.SelectCommand = command; DataSet dataSet = new DataSet(); adapter.Fill(dataSet); ASObject asoResult = new ASObject(); DataTable dataTable = dataSet.Tables[0]; ArrayList rows = new ArrayList(dataTable.Rows.Count); for (int i = 0; i < dataTable.Rows.Count; i++) { DataRow dataRow = dataTable.Rows[i]; ASObject asoRow = new ASObject(); for (int j = 0; j < dataTable.Columns.Count; j++) { DataColumn column = dataTable.Columns[j]; asoRow.Add(column.ColumnName, dataRow[column]); } rows.Add(asoRow); } result["result"] = rows; } } catch (Exception ex) { result["message"] = ex.Message; } return result; }
public Project ConnectToDatabase(string name, string url) { Project project = GetProject() as Project; if( project != null ) { DomainUrl domainUrl = new DomainUrl(url); DomainBuilder builder = DomainBuilderFactory.GetDomainBuilder(domainUrl); DataDomain dataDomain = builder.BuildDomain(); dataDomain.Name = name; project.AddDataDomain(dataDomain); return project; } return null; }