我想写一个简单的数据库语句解释程序,碰到点麻烦,卡住了.private void btn_CreatAccess_Click(object sender, EventArgs e)
{
//创建数据库成功
}
private void btn_ConnAccess_Click(object sender, EventArgs e)
{
//连接也成功
myConn.Open();
}
private void btn_ExeAccess_Click(object sender, EventArgs e)//执行数据库语句
{
string[] str_SQLs = txB_ExeAccess.Text.Trim().ToString().Split(' ');
if (str_SQLs[0].ToUpper() == "SELECT")//如果是SELECT语句,返回结果到DataGridView
{
//翻了下csdn的旧帖,只找到个
OleDbDataAdapter myOleDbDataAdapter = new OleDbDataAdapter(txB_ExeAccess.Text.Trim().ToString(), myConn);
DataSet myDataSet = new DataSet();
DataGridView myDataGridView = new DataGridView();
myOleDbDataAdapter.Fill(myDataSet,"表名事先不知道怎么办?");
myDataGridView.DataSource = myDataSet.Tables[0].DefaultView ; myDataGridView.Dock = DockStyle.Fill;
splitContainer1.Panel2.Controls.Add(myDataGridView);
}
}问题1:myOleDbDataAdapter.Fill(myDataSet,"表名事先不知道怎么办?"); 问题2:我是用第一个SQL命令字符串来判断是什么类型的命令,如:"CREATE","DROP","ALTER","INSERT","UPDATE","DELETE"
我看见有个OleDbCommand.CommandType=CommandType.StoredProcedure或CommandType.TableDirect或CommandType.Text查手册也没看懂干什么用的,能不能用这个方法来判断SQL语句类型啊?附加:对于所有其他类型的语句,返回值为 -1。如果发生回滚,返回值也为 -1。
http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlcommand.executenonquery(VS.80).aspx
http://msdn.microsoft.com/en-us/library/system.data.oledb.oledbcommand.executenonquery.aspx
返回的值为-1,那怎么判断创建表成功还是失败后的回滚?可能是我概念不清楚,这个没解决不要紧我有点落伍,还是C#2.0
{
//创建数据库成功
}
private void btn_ConnAccess_Click(object sender, EventArgs e)
{
//连接也成功
myConn.Open();
}
private void btn_ExeAccess_Click(object sender, EventArgs e)//执行数据库语句
{
string[] str_SQLs = txB_ExeAccess.Text.Trim().ToString().Split(' ');
if (str_SQLs[0].ToUpper() == "SELECT")//如果是SELECT语句,返回结果到DataGridView
{
//翻了下csdn的旧帖,只找到个
OleDbDataAdapter myOleDbDataAdapter = new OleDbDataAdapter(txB_ExeAccess.Text.Trim().ToString(), myConn);
DataSet myDataSet = new DataSet();
DataGridView myDataGridView = new DataGridView();
myOleDbDataAdapter.Fill(myDataSet,"表名事先不知道怎么办?");
myDataGridView.DataSource = myDataSet.Tables[0].DefaultView ; myDataGridView.Dock = DockStyle.Fill;
splitContainer1.Panel2.Controls.Add(myDataGridView);
}
}问题1:myOleDbDataAdapter.Fill(myDataSet,"表名事先不知道怎么办?"); 问题2:我是用第一个SQL命令字符串来判断是什么类型的命令,如:"CREATE","DROP","ALTER","INSERT","UPDATE","DELETE"
我看见有个OleDbCommand.CommandType=CommandType.StoredProcedure或CommandType.TableDirect或CommandType.Text查手册也没看懂干什么用的,能不能用这个方法来判断SQL语句类型啊?附加:对于所有其他类型的语句,返回值为 -1。如果发生回滚,返回值也为 -1。
http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlcommand.executenonquery(VS.80).aspx
http://msdn.microsoft.com/en-us/library/system.data.oledb.oledbcommand.executenonquery.aspx
返回的值为-1,那怎么判断创建表成功还是失败后的回滚?可能是我概念不清楚,这个没解决不要紧我有点落伍,还是C#2.0
解决方案 »
- System.Diagnostics.Process.StartSystem.Diagnostics("test1.exe");无规律概率重现打不开文件的异常。
- C#在图片上添加文字后,用CorelDraw打开并能编辑
- 求微软系列丛书
- 正则表达式问题!?
- 有没有现成的MDI框架模板可以使用呢?
- 怎么样WinForm页面,后台动态生成和Web中一样功能的table表格?
- 高手请进,在WinForm中,如何取得radioButton的值?
- SqlDataAdapter 的注入疑问
- C#使用Process打印导致的问题
- 急急急急!!!!为什么不能“绑架“她???(一小时在线等待)
- 问一个简单C#读取与保存XML的问题.
- IE里面XMLHTTP的Open方法传递AD帐号
2.CommandType.StoredProcedure是制定存储过程?CommandType.Text指的是你使用的sql字符串
3.想判断是"select"还是其他类型的加多个参数就行了.
问题2:OleDbCommand.CommandType的分类跟你要判断的增删改查不一样。
CommandType.StoredProcedure存储过程,CommandType.TableDirect表名访问,CommandType.Text SQL语句?
2.无法判断用的是哪种语句,只能指定你使用的sql语句;