[ hrib @ 05.10.2011. 17:43 ] @
imam stored proceduru: Code: ALTER PROCEDURE [dbo].[getAllTemeljniceByTipStanja] @temeljnice_tipovi_stanja_id int AS BEGIN SET NOCOUNT ON; SELECT t.broj, tv.naziv AS temeljnice_vrste_naziv, t.datum, t.korisnici_kor_ime, t.vrijeme_izrade FROM temeljnice t INNER JOIN temeljnice_vrste tv ON (tv.id = t.temeljnice_vrste_id) INNER JOIN temeljnica_stanje ts ON (ts.temeljnice_broj = t.broj AND ts.temeljnice_tipovi_stanja_id = @temeljnice_tipovi_stanja_id); END u sql management studiu ovakvo pozivanje radi: exec getAllTEmeljniceByTipStanja '1';, dok u c# ukoliko pozovem na ovaj način Code: List<StoredProcedureParameters> spp = new List<StoredProcedureParameters>(); spp.Add(new StoredProcedureParameters("@temeljnice_tipovi_stanja_id", Convert.ToInt32('1'), DbType.Int32)); dsTemeljnice = DbHelper.SelectDataSetStora("getAllTemeljniceByTipStanja", spp); stalno dobivam grešku Operand type clash: ntext is incompatible with int Broj greške: 206 StoredProcedure parameters je klasa sa tipovima string parametar, object vrijednost i Dbtype tip SelectDataSetStora i druge metode izgledaju ovako: Code: public DataSet SelectDataSetStora(string nazivProcedure, List<StoredProcedureParameters> listaParametara)// u izradi { CreateStoredProcedure(nazivProcedure, listaParametara); IDataAdapter da = Database.CreateDataAdapter(_DbCommand); DataSet ds = new DataSet(); da.Fill(ds); return ds; } public void CreateStoredProcedure(string nazivProcedure) { _DbCommand.CommandText = nazivProcedure; _DbCommand.CommandType = CommandType.StoredProcedure; } public void CreateStoredProcedure(string nazivProcedure, List<StoredProcedureParameters> listaParametara) { CreateStoredProcedure(nazivProcedure); foreach (StoredProcedureParameters p in listaParametara) { Console.WriteLine("__DbHelper: kreiram parametre store: " + p.Naziv + " " + p.Vrijednost + " " + p.Tip); Database.CreateParameter(p.Naziv, p.Vrijednost, p.Tip, _DbCommand); } } |