public async Task <TableViewInfo> GetTableInfo(int connId, string databaseName, string schemaName, string name) { const string sql = @"select Name,SqlType,ConnectionString from SqlConn where Id=@0 and IsDelete=0"; var helper = GetReadHelper(); var connDto = await helper.FirstOrDefault_Async <SqlConnDto>(sql, connId); if (connDto == null) { return(new TableViewInfo()); } var provider = SqlCache.Instance.GetSqlCommonProvider(connDto.SqlType); var tableEntity = provider.GetTable(connDto.ConnectionString, databaseName, schemaName, name); var tableColumns = provider.GetTableColumns(connDto.ConnectionString, databaseName, schemaName, name); TableViewInfo tableInfo = new TableViewInfo() { AdminName = "System", ServerName = connDto.Name, ServerType = connDto.SqlType, DatabaseName = databaseName, SchemaName = schemaName, TableName = tableEntity.TableName, Comment = tableEntity.Comment, OperationTime = System.DateTime.Now, Columns = new List <TableColumnInfo>(), }; for (int i = 0; i < tableColumns.Count; i++) { var column = tableColumns[i]; tableInfo.Columns.Add(new TableColumnInfo() { Index = i, ColumnName = column.ColumnName, Comment = column.Comment, Type = column.Type, Length = column.Length, Precision = column.Precision, Scale = column.Scale, IsPrimaryKey = column.IsPrimaryKey, IsIdentity = column.IsIdentity, IsNullAble = column.IsNullAble, DefaultValue = column.DefaultValue }); } return(tableInfo); }
public IActionResult GetTestTableData() { TableViewInfo tableInfo = new TableViewInfo() { AdminName = "管理员", OperationTime = DateTime.Now, Namespace = "ToolGood.SqlOnline", ServerName = "测试服务器", ServerType = "SqlServer", DatabaseName = "ToolGood", SchemaName = "dbo", TableName = "Member", Comment = "成员表", Columns = new List <TableColumnInfo>() { new TableColumnInfo() { Index = 1, ColumnName = "Id", Comment = "主键自增", IsPrimaryKey = true, Type = "bigint", IsIdentity = true, }, new TableColumnInfo() { Index = 2, ColumnName = "UserName", Comment = "用户名", Type = "varchar", Length = "20", }, new TableColumnInfo() { Index = 3, ColumnName = "Password", Comment = "密码", Type = "char", Length = "32", }, new TableColumnInfo() { Index = 4, ColumnName = "Email", Comment = "邮箱", Type = "char", Length = "100", }, new TableColumnInfo() { Index = 5, ColumnName = "NickName", Comment = "昵称", Type = "nvarchar", Length = "50", }, new TableColumnInfo() { Index = 6, ColumnName = "Phone", Comment = "手机号", Type = "varchar", Length = "20", }, new TableColumnInfo() { Index = 7, ColumnName = "CreateTime", Comment = "创建日期", Type = "datetime", }, new TableColumnInfo() { Index = 0, ColumnName = "IsDelete", Comment = "是否删除", Type = "bit", DefaultValue = "(0)" }, } }; return(Success(tableInfo, null)); }