Exemplo n.º 1
0
 private void btn_conn_Click(object sender, EventArgs e)
 {
     if (String.IsNullOrEmpty(tb_host.Text))
     {
         rb_msg.Text = "服务器IP不能为空!";
         rb_msg.Focus();
         return;
     }
     if (String.IsNullOrEmpty(tb_host.Text))
     {
         rb_msg.Text = "服务器IP不能为空!";
         rb_msg.Focus();
         return;
     }
     if (String.IsNullOrEmpty(tb_port.Text))
     {
         rb_msg.Text = "端口不能为空!";
         tb_port.Focus();
         return;
     }
     if (String.IsNullOrEmpty(tb_user.Text))
     {
         rb_msg.Text = "用户名不能为空!";
         tb_user.Focus();
         return;
     }
     if (String.IsNullOrEmpty(tb_pass.Text))
     {
         rb_msg.Text = "密码不能为空!";
         tb_pass.Focus();
         return;
     }
     if (String.IsNullOrEmpty(tb_db.Text))
     {
         rb_msg.Text = "数据库不能为空!";
         tb_db.Focus();
         return;
     }
     try
     {
         MysqlAdapter adapter = new MysqlAdapter();
         adapter.SetServer(tb_host.Text)
         .SetPort(tb_port.Text)
         .SetUsername(tb_user.Text)
         .SetPassword(tb_pass.Text)
         .SetDataBase(tb_db.Text);
         MySqlConnection conn = adapter.GetConnection();
         conn.Open();
         conn.Close();
         window.Adapter = adapter;
         window.RefreshView();
         this.Close();
     }
     catch (Exception ex)
     {
         rb_msg.Text = String.Format("错误:{0}", ex.Message);
     }
 }
Exemplo n.º 2
0
        public async Task <PagedList <TEntity> > QueryPagedListAsync <TEntity>(int pageIndex, int pageSize, string pageSql, object pageSqlArgs = null) where TEntity : class
        {
            if (pageSize < 1 || pageSize > 5000)
            {
                throw new ArgumentOutOfRangeException(nameof(pageSize));
            }
            if (pageIndex < 1)
            {
                throw new ArgumentOutOfRangeException(nameof(pageIndex));
            }

            var         partedSql  = PagingUtil.SplitSql(pageSql);
            ISqlAdapter sqlAdapter = null;

            if (_context.Database.IsMySql())
            {
                sqlAdapter = new MysqlAdapter();
            }
            else if (_context.Database.IsSqlServer())
            {
                sqlAdapter = new SqlServerAdapter();
            }
            else if (_context.Database.IsSqlite())
            {
                sqlAdapter = new SqliteAdapter();
            }
            else if (_context.Database.IsNpgsql())
            {
                sqlAdapter = new NpgsqlAdapter();
            }
            else
            {
                throw new Exception("Unsupported database type");
            }
            pageSql = sqlAdapter.PagingBuild(ref partedSql, pageSqlArgs, (pageIndex - 1) * pageSize, pageSize);
            var sqlCount   = PagingUtil.GetCountSql(partedSql);
            var conn       = GetConnection();
            var totalCount = await conn.ExecuteScalarAsync <int>(sqlCount, pageSqlArgs);

            var items = await conn.QueryAsync <TEntity>(pageSql, pageSqlArgs);

            var pagedList = new PagedList <TEntity>(items.ToList(), pageIndex - 1, pageSize, totalCount);

            return(pagedList);
        }