急求各位大侠解答。。
FORM1中:我想实现的是在一个textbox中输入SQL文(增删查改),点击click按钮后,实现在另一个textbox中显示结果。
PS:连接的是Oracle数据库。
--------------------编程问答-------------------- 当然可以了,sql语句不就是个字符串吗 --------------------编程问答-------------------- http://topic.csdn.net/u/20090805/15/70f751a7-61b5-4bab-a5fa-2caa5cecaa7a.html
sql就是textbox.text,至于放到textbox中,dataset遍历输出就可以了 --------------------编程问答--------------------
--------------------编程问答--------------------
public class DBHelper
{
//属性:数据库链接对象
private static OracleConnection conn;
public static OracleConnection Conn
{
get
{
try
{
string connstr = "Data Source=orcl;Persist Security Info=True;User ID=DataBaseName;Password=123456";
if (conn == null)
conn = new OracleConnection(connstr);
if (conn.State == ConnectionState.Closed)
conn.Open();
if (conn.State == ConnectionState.Broken)
{
conn.Close();
conn.Open();
}
return conn;
}
catch (Exception ex)
{
throw;
}
}
}
//方法:查询,DataReader
public static OracleDataReader GetReader(string OracleStr)
{
OracleCommand cmd = new OracleCommand(OracleStr, Conn);
return cmd.ExecuteReader();
}
public static OracleDataReader GetReader(string OracleStr, OracleParameter[] paras)
{
OracleCommand cmd = new OracleCommand(OracleStr, Conn);
cmd.Parameters.AddRange(paras);
return cmd.ExecuteReader();
}
//查询:DataTable
public static DataTable GetTable(string OracleStr)
{
try
{
OracleDataAdapter dap = new OracleDataAdapter(OracleStr, Conn);
DataSet ds = new DataSet();
dap.Fill(ds);
conn.Close();
return ds.Tables[0];
}
catch (Exception ex)
{
throw;
}
}
//增删改
public static bool Execute(string OracleStr)
{
OracleCommand cmd = new OracleCommand(OracleStr, Conn);
int result = cmd.ExecuteNonQuery();
conn.Close();
return result > 0;
}
//返回首行首列
public static object GetScalar(string OracleStr)
{
OracleCommand cmd = new OracleCommand(OracleStr, Conn);
object obj = cmd.ExecuteScalar();
conn.Close();
return obj;
}
}
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
#region 从region到endregion是手工写的。别的都是系统自动生成的
//定义连接数据库的字符串
string constring = "data source=zuoye;user=test;password=test;";
//进行连接
OracleConnection conn = new OracleConnection(constring);
try
{
conn.Open();//打开指定的连接
OracleCommand com = conn.CreateCommand();
com.CommandText =
"select studname from student where studid=" +
"'07201'";//写好想执行的Sql语句
OracleDataReader odr = com.ExecuteReader();
//读取数据,如果返回为false的话,就说明到记录集的尾部了
while (odr.Read())
{
//将读取到的值显示到定义的控件中。
this.label1.Text = odr.GetOracleString(0).ToString();
}
odr.Close();//关闭reader.这是一定要写的
}
catch
{
MessageBox.Show("erro");//如果发生异常,则提示出错
}
finally
{
conn.Close();//关闭打开的连接
}
#endregion
}
private void button2_Click(object sender, EventArgs e)
{
#region 从region到endregion是手工写的。别的都是系统自动生成的
//定义连接数据库的字符串
string constring = "data source=zuoye;user=test;password=test;";
//进行连接
OracleConnection conn = new OracleConnection(constring);
try
{
conn.Open();//打开指定的连接
OracleCommand com = conn.CreateCommand();
//写好想执行的Sql语句
com.CommandText =
"update student set studname='wzd' where studid='07201'";
com.ExecuteNonQuery();
}
catch
{
MessageBox.Show("erro");//如果发生异常,则提示出错
}
finally
{
conn.Close();//关闭打开的连接
}
#endregion
}
}
}
--------------------------
大侠给我分析下我这边调试后实现的效果是点击button后执行一句SQL查询,在label中显示结果,但是我想实现的是,在文本框中输入SQL文,点击button后,在另一个文本框中显示结果,我应该做什么样的修改? --------------------编程问答-------------------- com.CommandText = "update student set studname='wzd' where studid='07201'";
==>
com.CommandText = this.textbox1.text
this.label1.Text = odr.GetOracleString(0).ToString();
==>
this.textbox2.text = odr.GetOracleString(0).ToString();
变通一下嘛
补充:.NET技术 , C#