Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


problem att returnera

Postades av 2007-12-09 22:56:41 - Marcus Wennerberg, i forum asp.net generellt, Tråden har 14 Kommentarer och lästs av 1485 personer

Har samma problem på flera ställen, ett av dem är
<code>

public static DataTable GetMyMembersByUserName()
{
showMember member = new showMember();

using (SqlConnection conn = new SqlConnection(ConnString))
{
try
{
conn.Open();

//Skapa commandobject
SqlCommand cmd = new SqlCommand("dbo.GetMyMembersByUserName", conn);
cmd.CommandType = CommandType.StoredProcedure;
//Lägg till parameter
cmd.Parameters.AddWithValue("@userName", member.UserName);
SqlDataReader rd = cmd.ExecuteReader();
return rd;
}
catch (SqlException ex)
{
throw new ApplicationException("Fel inträffade när användarna skulle hämtas.", ex);
}
}
}






i en annan klass:

public static DataTable GetMyMembersByUserName()
{
return showMemberDB.GetMyMembersByUserName();
}


</code>

Jag vill returnera så det ska bli enkelt att lägga in det i en grindview, men får här felmeddelandet:
Det går inte att implicit konvertera typen System.Data.SqlClient.SqlDataReader till System.Data.DataTable


Hur löser man detta på enklaste sättet??

Tacksam för all hjälp


Svara

Sv: problem att returnera

Postades av 2007-12-09 23:20:46 - Martin Emanuelsson

Ändra returtyperna i dina funktioner till SqlDataReader istället, eftersom det är det du returnerar och inte en datatable...


Svara

Sv:problem att returnera

Postades av 2007-12-09 23:35:47 - Marcus Wennerberg

ok, tack, var visst någon using jag hade glömt.

Men får inte in datan i listan, utan får felmeddelandet:
Datakällan har inte stöd för sidindelning av data på serversidan.


på den nedersta raden

<code>
showMember member = new showMember(Membership.GetUser().ToString());
UserGrid.DataSource = showMember.GetMyMembersByUserName(member);
UserGrid.DataBind();
</code>


Jag vill ju att mitt:

UserGrid.EmptyDataText = "Det finns inga användare att visa";

ska visas då inga användare finns att visa.


Hur kan man lösa detta??


Tacksam för all hjälp


Svara

Sv: problem att returnera

Postades av 2007-12-10 08:29:28 - Magnus Hallberg

Ett alternativ är ju att använd if exists i SP, om det inte finns nåt att hämta kör du en raiserror som i sin tur skickas vidare i catch. Jag brukar använda den tekniken.


Svara

Sv: problem att returnera

Postades av 2007-12-10 08:58:13 - Martin Emanuelsson

Känns som att du blandar ihop två olika saker här. Felet som du nämner skulle jag tro kommer från att du inte kan använda en datareader för att få "automatisk" paginering i en gridview eller vad det nu är du använder. Därför måste du ändra i funktionen som anropar databasen så att den returnerar en datatable (eller ett dataset) istället, om du inte vill skriva en custom funktion för att hantera pagineringen. Då borde både pagineringen och EmptyDataText funka som det ska.


Svara

Sv:problem att returnera

Postades av 2007-12-10 10:26:15 - Marcus Wennerberg

ok, tack


om jag nu gör om den till:

<code>
public static DataTable GetMyMembersByUserName(showMember member)
{
using (SqlConnection conn = new SqlConnection(ConnString))
{
try
{
SqlDataAdapter da = new SqlDataAdapter("dbo.GetMyMembersByUserName", conn);
DataSet ds = new DataSet();
da.Fill(ds);
return ds.Tables[0];
}
catch (SqlException ex)
{
throw new ApplicationException("Fel inträffade när användarna skulle hämtas.", ex);
}
}
}
</code>


Om jag vill få in parametern, hur skriver man då??
cmd.Parameters.AddWithValue("@userName", member.UserName);

Just nu hämtar den ut allt.

Tacksam för all hjälp


Svara

Sv: problem att returnera

Postades av 2007-12-10 11:12:47 - Martin Emanuelsson

Gör så att du skapar ett Command-objekt som du lägger in parametrarna i, använd sen det här när du instantierar ditt SqlDataAdapter-objekt.


Svara

Sv:problem att returnera

Postades av 2007-12-10 11:30:13 - Marcus Wennerberg

hmm, ok

Såhär?
<code>
SqlCommand cmd = new SqlCommand("dbo.GetMyMembersByUserName", conn);
cmd.CommandType = CommandType.StoredProcedure;
//Lägg till parameter
cmd.Parameters.AddWithValue("@username", member.UserName);

SqlDataAdapter da = new SqlDataAdapter(cmd, conn);
DataSet ds = new DataSet();
da.Fill(ds);
return ds.Tables[0];

</code>

får felmeddelandet:
Den överlagrade metod som bäst matchar System.Data.SqlClient.SqlDataAdapter.SqlDataAdapter(string, string) har några ogiltiga argument


Svara

Sv: problem att returnera

Postades av 2007-12-10 11:46:06 - Magnus Bergström

Om du vill lagga till command-parametrar till ett dataadapter objekt ar det bara att anvanda:

?
1
2
3
4
da.SelectCommand.CommandType = CommandType.StoredProcedure;
 
da.SelectCommand.Parameters.Add("@username", SqlDbType.NVarChar, 255);
da.SelectCommand.Parameters["@username"].Value = myUsername;


Svara

Sv: problem att returnera

Postades av 2007-12-10 11:53:36 - Martin Emanuelsson

Vet inte om det är lösningen på ditt problem här men du behöver inte ha med conn både när du skapar ditt Command-objekt och ditt Adapter-objekt, räcker med en av de båda...


Svara

Sv:problem att returnera

Postades av 2007-12-10 12:11:49 - Marcus Wennerberg

tack, nu kraschar den dock på da.Fill(ds);
<code>
SqlDataAdapter da = new SqlDataAdapter("dbo.GetAllMembers", conn);
da.SelectCommand.CommandType = CommandType.StoredProcedure;
da.SelectCommand.Parameters.Add("@username", SqlDbType.NVarChar, 255).Value = member.UserName;

DataSet ds = new DataSet();
da.Fill(ds);
return ds.Tables[0];
</code>

får fram felmeddelandet:
Procedure GetAllMembers has no parameters and arguments were supplied.

när jag kör frågan manuellt får jag:
kalle bloggadmin
No rows affected.
(1 row(s) returned)
@RETURN_VALUE = 0
Finished running [dbo].[GetMyMembersByUserName].


Vad kan det vara för fel??

Tacksam för all hjälp


Svara

Sv: problem att returnera

Postades av 2007-12-10 13:15:17 - Martin Emanuelsson

Felmeddelande?


Svara

Sv:problem att returnera

Postades av 2007-12-10 13:18:56 - Marcus Wennerberg

mm, får nu fram:
Procedure GetAllMembers has no parameters and arguments were supplied.


kan visa SP, men tror inte där felet är:

<code>
ALTER Procedure [dbo].GetMyMembersByUserName
(
@username varchar(255)
)
AS
DECLARE @bloggID int
DECLARE @ErrMsg varchar(50)

BEGIN TRY

SET @ErrMsg = 'Fel när bloggID skulle hämtas'

-- hämtar ut bloggens ID
set @bloggID = (SELECT ubb.bID
FROM aspnet_Users as u
INNER JOIN userBelongBlogg AS ubb
ON ubb.UserID = u.UserID
WHERE u.UserName = @username)

SET @ErrMsg = 'Fel när dina medarbetare skulle hämtas'

-- hämtar ut alla användare med samma bloggID
SELECT u.UserName, r.RoleName
FROM aspnet_Users as u
INNER JOIN userBelongBlogg AS ubb
ON ubb.UserId = u.UserID
INNER JOIN aspnet_UsersInRoles AS uir
ON u.UserId = uir.UserID
INNER JOIN aspnet_Roles AS r
ON uir.RoleId = r.RoleId
WHERE ubb.bID = @bloggID


END TRY
BEGIN CATCH
RAISERROR(@ErrMsg,16,1)
END CATCH

</code>


Svara

Sv: problem att returnera

Postades av 2007-12-10 13:27:09 - Martin Emanuelsson

Enligt koden du skickade lite tidigare så anropar du proceduren som heter GetAllMembers, byt det till GetMyMembersByUserName.


Svara

Sv:problem att returnera

Postades av 2007-12-10 13:29:25 - Marcus Wennerberg

haha, oj, Tusen Tack Martin, nu funkar det. :D


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 616
27 953
271 709
5 694
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies
Expand
next previous
Close

Previous

0/0

Next