Я работаю на # проекта 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 блок1 = Unit.GetUnitByName (per100gText [1] enter code here
); , поскольку per10gText является строковым списком. , но он возвращает пустой тип данных. подключение к серверу sql, при отладке я вижу, что процедура не может прочитать параметр. Любая помощь Пожалуйста.
Я не использую код SQL часто, вы можете объяснить больше о функции? и вернуть значение напрямую с помощью sql и C#? – alim91
Я не знаю, C# - :(прочитайте это о proc и func: http: //stackoverflow.com/questions/1179758/function-vs-stored-procedure-in-sql-server –
ok спасибо вам, dudi. – alim91