Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Sybase ASE 15执行存储过程,并使用C#获取数据集?_C#_Sql_Stored Procedures_Sap Ase - Fatal编程技术网

从Sybase ASE 15执行存储过程,并使用C#获取数据集?

从Sybase ASE 15执行存储过程,并使用C#获取数据集?,c#,sql,stored-procedures,sap-ase,C#,Sql,Stored Procedures,Sap Ase,如何从Sybase ASE 15(使用ODBC)执行存储过程并使用C#获取数据集 公共静态对象GetDataSetOdbc(字符串连接,字符串查询) { OdbcConnection ConexaoOdbc=新的OdbcConnection(conn); ConexaoOdbc.ConnectionTimeout=120; OdbcDataAdapter daOdbc; OdbcCommand-cmdOdbc; 数据集dsResultado=新数据集(); bool exc=假; 尝试 { 如

如何从Sybase ASE 15(使用ODBC)执行存储过程并使用C#获取数据集


公共静态对象GetDataSetOdbc(字符串连接,字符串查询)
{
OdbcConnection ConexaoOdbc=新的OdbcConnection(conn);
ConexaoOdbc.ConnectionTimeout=120;
OdbcDataAdapter daOdbc;
OdbcCommand-cmdOdbc;
数据集dsResultado=新数据集();
bool exc=假;
尝试
{
如果(查询!=“”)
{
cmdOdbc=新的odbc命令(query,ConexaoOdbc);
cmdOdbc.CommandType=CommandType.Text;
daOdbc=新的OdbcDataAdapter(CMDOBC);
conexoodbc.Open();
int idx=VerificaExpressao(查询);
if(idx<0)
cmdOdbc.ExecuteNonQuery();
其他的
{
cmdOdbc.ExecuteScalar();
}
daOdbc.Fill(dsResultado,“结果”);
}
其他的
conexoodbc.Close();
}
捕获(例外情况除外)
{
Console.WriteLine(例如ToString());
exc=真;
}
最后
{
conexoodbc.Close();
}
if(exc)
返回“”;
其他的
返回dsResultado;
}
私有静态int-VerificaExpressao(字符串查询)
{
int idx=query.IndexOf(“创建”,StringComparison.CurrentCultureIgnoreCase);
如果(idx==-1)
idx=query.IndexOf(“Drop”,StringComparison.CurrentCultureIgnoreCase);
如果(idx==-1)
idx=query.IndexOf(“Alter”,StringComparison.CurrentCultureIgnoreCase);
如果(idx==-1)
idx=query.IndexOf(“插入”,StringComparison.CurrentCultureIgnoreCase);
如果(idx==-1)
idx=query.IndexOf(“更新”,StringComparison.CurrentCultureIgnoreCase);
如果(idx==-1)
idx=query.IndexOf(“Exec”,StringComparison.CurrentCultureInoRecase);
返回idx;
}

仅允许
选择
验证表达式方法

通过此项决议:

        int idx = VerificaExpressao(query);

        if (idx < 0)
            cmdOdbc.ExecuteNonQuery();
        else
        {
            cmdOdbc.ExecuteScalar();
        }

完成了:)

运行代码时会发生什么?有例外吗?什么都没有?@ChrisShain解决了!:)我把它放在这里,让人们知道怎么做
        int idx = VerificaExpressao(query);

        if (idx < 0)
            cmdOdbc.ExecuteNonQuery();
        else
        {
            cmdOdbc.ExecuteScalar();
        }
        cmdOdbc.ExecuteNonQuery();