代码如下:
private void btnConnect_Click(object sender, EventArgs e)
{
if (txtServer.Text == "")
{
MessageBox.Show("请输入服务器名");
return;
}
if (txtUser.Text == "")
{
MessageBox.Show("请输入登录名");
return;
}
string strConn = "Data Source="+txtServer.Text.Trim()+";Initial Catalog=master;User ID="+txtUser.Text.Trim()+";"; SqlConnection conn = new SqlConnection(strConn);
try
{
conn.Open();
string sql = "select cacc_name,cdbname from t_kdaccount_gl";
SqlCommand cmd = new SqlCommand();
cmd.CommandText = sql;
cmd.Connection = conn;
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
sda.Fill(ds);
drp.DataSource = ds.Tables[0];
drp.DisplayMember = "cacc_name";
}
catch
{
MessageBox.Show("参数不正确,请重新输入");
return;
}
}
private void btnExe_Click(object sender, EventArgs e)
{
if (txtSql.Text == "")
{
MessageBox.Show("请输入查询语句");
return;
}
string strConn = "Data Source="+txtServer.Text+";Initial Catalog="+drp.ValueMember+";User ID="+txtUser.Text+"";
SqlConnection conn = new SqlConnection(strConn);
try {
conn.Open();
SqlCommand sc = new SqlCommand();
sc.Connection = conn;
sc.CommandText = txtSql.Text.ToString();
SqlDataAdapter sda = new SqlDataAdapter(sc);
DataSet ds = new DataSet();
sda.Fill(ds);
MessageBox.Show("执行成功"); return;
}
catch {
MessageBox.Show("出错误了!!!");
return;
}
}
第一个按钮里面执行的是数据库连接,没有问题
第二个 帐套 : COMBOBOX里的值对应的是 MASTER表里的 某一项列名,但同时又是一个独立的数据库名 没有问题
问题是 根据 COMBOBOX里的值 创建一个表的时候,在 TEXT里 必须输入USE 库名 才能 创建表 ,我想 通过 COMBOBOX里的 值 自动选择 库名 在 TEXT里 执行 CREATER TABLE的命令,就能创建一个表 希望各位大神不吝赐教
代码已经说的很清楚了啊
一共就 三步
第一是 连接 SQL 数据库
第二将 数据库里MASTER表里的 字段名 显示到 COMBOBOX里
第三 通过COMBOBOX里的 字段名 找到 相应的 数据库名 然后在下面的TEXT里执行 SQL语句!!! 执行就 OK了 !!
关键是 第三步 这我出了问题!!!!
不懂,不明白,在查询分析器里的创建表的语句是啥?
建立了数据库,才可以建表,只要不违反这个顺序就完全可以行,前提还要是你的连接字符串中的用户有creat db,create table的权限