0
我工作的asp.net C#项目连接到SQL数据库(MySQL的2008)。这里是我的C#类:发送字符串参数存储过程
public static DataTable GetUnitByName(string unit)
{
Database db = DatabaseFactory.CreateDatabase();
string sqlCommand = "GetUnitByName";
DbCommand dbCommandWrapper = db.GetStoredProcCommand(sqlCommand);
db.AddInParameter(dbCommandWrapper, "@Unit", DbType.String, unit);
DataSet ds = db.ExecuteDataSet(dbCommandWrapper);
DataTable dt = ds.Tables[0];
return dt;
}
,这里是存储过程:
alter PROCEDURE [dbo].[GetUnitByName]
(
@Unit nvarchar
)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON
DECLARE @Err int
-- Insert statements for procedure here
select * from Unit where [email protected]
SET @Err = @@Error
RETURN @Err
END
我打电话过程像这样: DataTable unit1 = Unit.GetUnitByName(per100gText [1] enter code here
); ,per10gText是一个字符串列表。 但它返回空数据表。连接到SQL服务器,在调试我看到该过程无法读取参数。 任何帮助请。如果你想PROC返回您首先需要将其声明为输出参数PARAM
我不使用SQL代码的时候,你能解释更多的功能?并直接使用SQL和C#返回值? – alim91 2014-12-05 08:53:24
我不知道c# - :(阅读关于proc和func的这个:http://stackoverflow.com/questions/1179758/function-vs-stored-procedure-in-sql-server – 2014-12-05 08:58:58
好的,谢谢你杜迪。 – alim91 2014-12-05 10:23:03