最近在使用access过程中遇到一个问题

codinghello 2005-01-20 11:30:19
以前用sqlserver的时候可以这样做
sql = "select * from a select * from b"
mycommand.execute(sql)
可是在access中却不能使用这样的语句
请问有什么办法
...全文
170 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
codinghello 2005-01-21
  • 打赏
  • 举报
回复
谢谢
codinghello 2005-01-20
  • 打赏
  • 举报
回复
to: zhanqiangz(闲云野鹤)
其实是这样的,
我在写一个对数据库操作的类库
从一个接口继承下来的类
可以用统一的调用方式使用sqlserver和access
有个方法的接口是这样的
void RunSql(string sql)
在sqlserver中sql可以写多条语句
可是在access中不能这样写
我想知道有什么办法没有
goody9807 2005-01-20
  • 打赏
  • 举报
回复
最好是分开写
Overriding 2005-01-20
  • 打赏
  • 举报
回复
为什么要这样执行?
就为了少一个OleDbCommand吗?

如果用事务那就用
OleDbTransaction tr=cnn.BeginTransaction();

cmd1.Transaction=tr;
cmd1.Transaction=tr;
try
{
cmd1.Ex...
cmd2.Ex...
tr.Commit();

}
catch
{
tr.RollBack();
}
warren1999 2005-01-20
  • 打赏
  • 举报
回复
gz
codinghello 2005-01-20
  • 打赏
  • 举报
回复
to:smx717616(.Net进行中……)
你可能没清楚我的意思,我就是想执行两句sql 不是一句
比如说 insert into table1(col1,col2) values(1,2) insert into table2(col1,col2) values(1,2)
我想这两句放到一起用一句来执行
孟子E章 2005-01-20
  • 打赏
  • 举报
回复
分开写
goody9807 2005-01-20
  • 打赏
  • 举报
回复
SELECT * from a union

SELECT * from b
smx717616 2005-01-20
  • 打赏
  • 举报
回复
union
bluesmile979 2005-01-20
  • 打赏
  • 举报
回复
没完过,如果有这种需要的话干吗不用存储过程?
codinghello 2005-01-20
  • 打赏
  • 举报
回复
我是想一次执行几句sql语句,
上面的sql是随便写的有那个意思就行了
suntonycomm 2005-01-20
  • 打赏
  • 举报
回复
试了,确实不行。如果是分页的话请看这:http://soft.yesky.com/SoftChannel/72342380468043776/20041004/1860645.shtml

别的方法没试出来。
zyoutlook007 2005-01-20
  • 打赏
  • 举报
回复
sql = "select * from a;select * from b"
yanyzty 2005-01-20
  • 打赏
  • 举报
回复
你要实现什么样的功能呢
LoveCherry 2005-01-20
  • 打赏
  • 举报
回复
如果字段一样union
不一样分开写
mba9001 2005-01-20
  • 打赏
  • 举报
回复
老兄,是的,在sqlserver中是可以这样写,而且好象只有在sqlserver才可以这样写;
看来用存储过程是不好解决你的问题了,建议在执行sql语句时,把它在执行前处理一下,写个分离的方法什么的.
goody9807 2005-01-20
  • 打赏
  • 举报
回复
中间层的类库定义公共方法

public string GetConnectionString()
{

String pwd="User Id="+m_User+";Password="+m_Pwd+";";
HttpContext context = HttpContext.Current;
string connectionString = (string)context.Cache["ConnectionString"];
if (connectionString== null)
{
connectionString=ConfigurationSettings.AppSettings["ConnectionString"] + pwd;
context.Cache["ConnectionString"] = connectionString;
}
return connectionString;
}





private void Open()
{
// open connection
if (con == null)
{
con = new SqlConnection(GetConnectionString());
try
{
con.Open();
}
catch(Exception ex)
{
// StreamWriter sw=new StreamWriter(path,false);
// sw.WriteLine(ex.Source+"|"+ex.Message);
// sw.Close();
con=null;
}

}
else if(con!=null && Convert.ToString(con.State)=="Closed")
{
con.Open();
}

}






public void Close() {
if (con != null)
con.Close();
}
goody9807 2005-01-20
  • 打赏
  • 举报
回复
你可以多次执行 void RunSql(string sql) 方法

你可以把打开连接的语句写在类外面 然后 进行RunSql时再打开 等多个RunSql完后再关闭

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧