- 浏览: 98780 次
- 性别:
- 来自: 北京
文章分类
最新评论
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
using
SASWorkspaceManager;
namespace
SASShare
{
public
class
Connection
{
///
<summary>
///
默认创建本地连接
///
</summary>
public
Connection()
:
this
(
null
,
0
,
""
,
""
, Protocols.ProtocolBridge)
{}
public
Connection(
string
serverIP,
short
serverPort,
string
userName,
string
userPass, Protocols protocols)
{
this
._serverIP
=
serverIP;
this
._serverPort
=
serverPort;
this
._userName
=
userName;
this
._userPassword
=
userPass;
this
._protocals
=
protocols;
}
private
string
_serverIP
=
string
.Empty, _userName
=
string
.Empty, _userPassword
=
string
.Empty;
///
<summary>
///
用户密码
///
</summary>
public
string
UserPassword
{
get
{
return
_userPassword; }
set
{ _userPassword
=
value; }
}
///
<summary>
///
用户名
///
</summary>
public
string
UserName
{
get
{
return
_userName; }
set
{ _userName
=
value; }
}
///
<summary>
///
服务器地址
///
</summary>
public
string
ServerIP
{
get
{
return
_serverIP; }
set
{ _serverIP
=
value; }
}
private
short
_serverPort;
///
<summary>
///
连接端口号
///
</summary>
public
short
ServerPort
{
get
{
return
_serverPort; }
set
{ _serverPort
=
value; }
}
private
Protocols _protocals;
///
<summary>
///
连接协议
///
</summary>
public
Protocols Protocals
{
get
{
return
_protocals; }
set
{ _protocals
=
value; }
}
public
SASProvider CreateSASProvider()
{
return
new
SASProvider(
this
);
}
}
}
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
using
SASWorkspaceManager;
using
SAS;
using
System.IO;
using
System.Data.OleDb;
namespace
SASShare
{
public
class
SASProvider
{
private
IWorkspace workSpace;
public
IWorkspace WorkSpace
{
get
{
return
workSpace; }
set
{ workSpace
=
value; }
}
private
Connection _connection;
public
Connection Connection
{
get
{
return
_connection; }
}
string
message;
WorkspaceManager _workspaceManager
=
new
SASWorkspaceManager.WorkspaceManager();
public
delegate
void
SASErrorEventHandler(
object
sender, SASErrorEventArgs args);
///
<summary>
///
执行出错事件
///
</summary>
public
event
SASErrorEventHandler OnError;
internal
SASProvider(Connection connection)
{
_connection
=
connection;
}
///
<summary>
///
运行SAS程序
///
</summary>
///
<param name="sasCommand"></param>
public
void
Submit(
string
sasCommand)
{
IServerDef2 _serverDef
=
null
;
if
(
!
string
.IsNullOrEmpty(_connection.ServerIP))
{
_serverDef
=
new
SASWorkspaceManager.ServerDefClass();
_serverDef.Port
=
Connection.ServerPort;
_serverDef.Protocol
=
Connection.Protocals;
_serverDef.MachineDNSName
=
Connection.ServerIP;
}
workSpace
=
_workspaceManager.Workspaces.CreateWorkspaceByServer(
"
_LOCAL_
"
, SASWorkspaceManager.Visibility.VisibilityProcess, _serverDef, _connection.UserName, _connection.UserPassword,
out
message);
try
{
workSpace.LanguageService.Submit(sasCommand);
}
catch
(Exception e)
{
FireEvent(
this
, e);
}
finally
{
workSpace.Close();
}
}
///
<summary>
///
运行SAS文件
///
</summary>
///
<param name="path"></param>
public
void
RunSasFile(
string
path)
{
if
(File.Exists(path))
{
string
command
=
File.ReadAllText(path);
Submit(command);
}
}
///
<summary>
///
查询结果集
///
</summary>
///
<param name="libname">
分配逻辑库引用名
</param>
///
<param name="command"></param>
///
<returns></returns>
public
System.Data.DataSet GetResults(
string
libname,
string
command)
{
System.Data.DataSet ds
=
new
System.Data.DataSet();
OleDbConnection conn
=
getConnection();
OleDbCommand cmd
=
new
OleDbCommand(libname, conn);
OleDbDataAdapter da
=
new
OleDbDataAdapter(command, conn);
try
{
conn.Open();
cmd.ExecuteNonQuery();
da.Fill(ds);
}
catch
(Exception e)
{
FireEvent(
this
, e);
}
finally
{
conn.Close();
}
return
ds;
}
///
<summary>
///
查询单个结果
///
</summary>
///
<param name="libname">
分配逻辑库引用名
</param>
///
<returns></returns>
public
object
GetResult(
string
libname,
string
selectCommand)
{
object
result
=
null
;
OleDbConnection conn
=
getConnection();
OleDbCommand cmd
=
new
OleDbCommand(libname, conn);
try
{
conn.Open();
cmd.ExecuteNonQuery();
cmd.CommandText
=
selectCommand;
result
=
cmd.ExecuteScalar();
}
catch
(Exception e)
{
FireEvent(
this
, e);
}
finally
{
conn.Close();
}
return
result;
}
///
<summary>
///
执行增删改操作
///
</summary>
///
<param name="libname">
分配逻辑库引用名
</param>
///
<param name="command"></param>
///
<returns></returns>
public
int
Execute(
string
libname,
string
command)
{
int
result
=
0
;
OleDbConnection conn
=
getConnection();
OleDbCommand cmd
=
new
OleDbCommand(libname, conn);
try
{
conn.Open();
cmd.ExecuteNonQuery();
cmd.CommandText
=
command;
result
=
cmd.ExecuteNonQuery();
}
catch
(Exception e)
{
FireEvent(
this
, e);
}
finally
{
conn.Close();
}
return
result;
}
private
OleDbConnection getConnection()
{
string
<span style
发表评论
-
TreeView控件保存恢复结点展开状态
2011-01-21 18:36 1281using System; using System ... -
ADO.NET Entity Framework学习笔记(5)ESQL查询语句
2010-12-01 12:52 1103比起 LINQ to SQL,EF 除了提供 LINQ 查询方 ... -
ADO.NET Entity Framework学习笔记(4)ObjectQuery对象
2010-12-01 12:50 1435ObjectQuery<T>数据加载方式 1. ... -
ADO.NET Entity Framework学习笔记(3)ObjectContext对象
2010-12-01 11:48 1072说明 ObjectContext提供了管理数据的功能 ... -
ADO.NET Entity Framework学习笔记(2)建模
2010-12-01 11:46 1343模型结构 [概念模型]中要有[实体键], [实体键] ... -
ADO.NET Entity Framework学习笔记(1)介绍
2010-12-01 11:44 1496LINQ to Entities 一种 ... -
Web Service简介
2010-12-01 11:08 7711.1 、 Web Service 基本概念 ... -
决定何时使用 DataGrid、DataList 或 Repeater
2010-11-26 17:28 931本页内容 简介 数据 Web 控件之间的相似 ... -
C#中抽象类和接口的区别
2010-11-26 17:27 661对于抽象类以及接口的 ... -
学习asp.net比较完整的流程
2010-11-26 10:34 701如果你已经有较多的面向对象开发经验,跳过以下这两步: ...
相关推荐
C# 操作内存 C# 操作内存 C# 操作内存 C# 操作内存 C# 操作内存 C# 操作内存 C# 操作内存 C# 操作内存
C# 操作PostgreSQL 数据库 .
C#操作Excel的几种方法
C#操作Word——C#向Word文档中写入文字
C#的,winform的,这是我自己写的一个c#操作excel的例子,其中包括数据操作,字体,格式,单元格等操作,还有一个生成柱状图的方法,所有的方法都在ExcelHelper.cs类里,点击Form1窗体里的按钮可以看到各种操作的...
2、如何使用C#在Word文档中插入图片以及读取Word文档中的图片?3、提取word 文档中的图片信息;4、提取WORD中的所有InlineShape图片并保存成文件;5、C#编程实现动态生成Word文档{1、2};6、C#读取Word文档的详细...
C# 操作图片方法大全 C# 操作图片方法大全 C# 操作图片方法大全 C# 操作图片方法大全
c#操作excel c#操作excel c#操作excelc#操作excel c#操作excelc#操作excel c#操作excec#操作excel c#操作excell
C#注册表操作类(完整版),C#注册表操作类(完整版); C#注册表操作类(完整版)!
C#对excel的操作C#对excel的操作C#对excel的操作C#对excel的操作C#对excel的操作C#对excel的操作C#对excel的操作C#对excel的操作C#对excel的操作C#对excel的操作
C# 操作MySQL数据库类 非存储过程操作类,如果要用到存储过程的话,自已修改里面的代码,里面的存储过程被我注释了。 至于调用方法,应该不用我说下载者应该也懂得吧,如果是对C#一巧不通的初学者,不懂也不要怪我...
C#操作Word.doc C#操作Word表格.doc C#操作WORD辅助类.txt c#操作word模板插入文字、图片及表格.doc C#操作Word在Word文档中插入图片.docx C#用word模板做文档.doc 收集的C#操作Word的各种代码。直接复制粘贴到程序...
C#操作ACCESS数据库,MDB文件读写
C#操作共享内存读写工程、C#操作共享内存读写工程、C#操作共享内存读写工程
c#操作sqlserver
C#操作文件示例 C#操作文件示例 目录的随后补上
C#操作Excel的方法
C#ACCESS数据操作类,执行SQL语句以及返回DataSet
C#操作sql server 的类分装,用于大部分的操作,修改,删除,添加,存储过程等等。
C#操作word文档 C#实现Word中表格信息读取