public static void GetDataReader() { IDbAccess db = IDbFactory.CreateIDb(connStr, dbType); db.IsKeepConnect = true; IDataReader datareader = db.GetDataReader("select * from templjqfortest"); while (datareader.Read()) { Console.WriteLine(datareader.GetValue(0).ToString()); Console.WriteLine(datareader.GetValue(1).ToString()); } datareader.Dispose(); db.Close(); }
public IEnumerable <DbColumnInfo> ShowColumns(string tableName) { var reader = dbAccess.GetDataReader($"PRAGMA table_info('{tableName}')"); var lst = new List <DbColumnInfo>(); while (reader.Read()) { //sqlite 的类型 显示如 INTEGER VARCHAR(50) 类型和长度应该分开 var dataType = reader.GetString(2); string dType = dataType; int dLength = 0; if (dType.IndexOf("(") > 0) { dType = dataType.Substring(0, dataType.IndexOf("(")); if (dataType.IndexOf(",") != -1) { dLength = dataType.Substring(dataType.IndexOf("(") + 1, dataType.IndexOf(",") - dataType.IndexOf("(") - 1).ToInt(); } else { dLength = dataType.Substring(dataType.IndexOf("(") + 1, dataType.IndexOf(")") - dataType.IndexOf("(") - 1).ToInt(); } } lst.Add(new DbColumnInfo() { ColumnName = reader.GetString(1), DataType = dType, Length = dLength, ColumnDescription = "", DefaultValue = reader.IsDBNull(4) ? "" : reader.GetString(4), IsIdentity = reader.IsDBNull(5) ? false : reader.GetBoolean(5), IsPrimarykey = reader.IsDBNull(5) ? false : reader.GetBoolean(5), IsNullable = reader.IsDBNull(3) ? false : reader.GetBoolean(3) }); } return(lst); }
public IEnumerable <DbColumnInfo> ShowColumns(string tableName) { var reader = dbAccess.GetDataReader($"describe {tableName};"); var lst = new List <DbColumnInfo>(); while (reader.Read()) { //mysql 的类型 显示如 int(11) varchar(50) 类型和长度应该分开 var dataType = reader.GetString(1); string dType = dataType; int dLength = 0; if (dType.IndexOf("(") > 0) { dType = dataType.Substring(0, dataType.IndexOf("(")); if (dataType.IndexOf(",") != -1) { dLength = dataType.Substring(dataType.IndexOf("(") + 1, dataType.IndexOf(",") - dataType.IndexOf("(") - 1).ToInt(); } else { dLength = dataType.Substring(dataType.IndexOf("(") + 1, dataType.IndexOf(")") - dataType.IndexOf("(") - 1).ToInt(); } } lst.Add(new DbColumnInfo() { ColumnName = reader.GetString(0), DataType = dType, Length = dLength, ColumnDescription = "", DefaultValue = reader.IsDBNull(4) ? "" : reader.GetString(4), IsIdentity = reader.IsDBNull(5) ? false : (reader.GetString(5) == "auto_increment"), IsPrimarykey = reader.IsDBNull(3) ? false : (reader.GetString(3) == "PRI"), IsNullable = reader.IsDBNull(2) ? false : (reader.GetString(2) == "YES") }); } return(lst); }