大家好!
代码如下:
public void GetCompany(string companyId)
{
SqlParameter[] values = new SqlParameter[]
{
new SqlParameter(PARAM_COMPANY_ID, companyId)
}; DataTable dtResult = SQLDBUtil.GetDataSetByProcedure(PRO_GET_WATER_HISTORY, values); }
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'proTest' AND type = 'P')
DROP PROCEDURE proTest
GOCREATE PROCEDURE proTest
@company_Id VARCHAR(2)
AS
BEGIN
SELECT * FROM Company WHERE company_Id = @company_Id;
ENDexec proTest '01';
错误提示: "'proTest' 附近有语法错误。"
首先,这存储过程是可以执行的.但是用C#调用,就报存储过程名字附近有语法错误.另外,如果C#里不传参数,是没问题的.这是什么问题?请大家指教,谢谢!
代码如下:
public void GetCompany(string companyId)
{
SqlParameter[] values = new SqlParameter[]
{
new SqlParameter(PARAM_COMPANY_ID, companyId)
}; DataTable dtResult = SQLDBUtil.GetDataSetByProcedure(PRO_GET_WATER_HISTORY, values); }
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'proTest' AND type = 'P')
DROP PROCEDURE proTest
GOCREATE PROCEDURE proTest
@company_Id VARCHAR(2)
AS
BEGIN
SELECT * FROM Company WHERE company_Id = @company_Id;
ENDexec proTest '01';
错误提示: "'proTest' 附近有语法错误。"
首先,这存储过程是可以执行的.但是用C#调用,就报存储过程名字附近有语法错误.另外,如果C#里不传参数,是没问题的.这是什么问题?请大家指教,谢谢!
贴出来啊
public static DataTable GetDataSetByProcedure(string procedureName, params SqlParameter[] values)
{
SqlDataAdapter sda = null;
DataSet ds = null;
SqlCommand cmd = null; try
{ ds = new DataSet();
cmd = new SqlCommand(procedureName, Con);
cmd.CommandTimeout = 120;
cmd.Parameters.AddRange(values);
sda = new SqlDataAdapter(cmd);
sda.SelectCommand.CommandTimeout = 120;
sda.Fill(ds);
return ds.Tables[0];
}
catch (Exception e)
{
//Log.AddErr(e);
return null;
}
finally
{
if (null != ds)
{
ds.Dispose();
}
if (null != sda)
{
sda.Dispose();
}
if (null != cmd)
{
cmd.Dispose();
}
if (Con.State == ConnectionState.Open)
{
Con.Close();
}
} }
PROCEDURE里哪里换行有问题?
public static DataTable RunProcedureTable(string storedProcName, IDataParameter[] parameters)
{
using (SqlConnection con = new SqlConnection(connectionString))
{
con.Open();
DataSet dsSet = new DataSet();
SqlDataAdapter sqlDa = new SqlDataAdapter(storedProcName, con);
sqlDa.SelectCommand.CommandType = CommandType.StoredProcedure;
sqlDa.SelectCommand.Parameters.AddRange(parameters);
sqlDa.Fill(dsSet);
return dsSet.Tables[0];
}
}
哎...做到头晕了!谢谢几位!