07. oktober 2007 - 13:53
Der er
26 kommentarer og 2 løsninger
problem med app_code funktion
Hej Eksperten! Jeg en problem med at få data fra en funktion son ligger i App_code. Min cs file i App_code ser sådan her ud: using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; public class addconstring { public void GetString(Int id, String name) { SqlConnection myConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["dbconnect"].ConnectionString); SqlCommand command = new SqlCommand("select_user", myConnection); command.CommandType = CommandType.StoredProcedure; command.Parameters.Add("@id", SqlDbType.Int); command.Parameters.Add("@name", SqlDbType.VarChar); command.Parameters["@id"].Value = @id; command.Parameters["@name"].Value = @name; command.Connection.Open(); SqlDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection); while (reader.Read()) { string sendme = "User id " + reader["user_id"].ToString() + "<br />"; sendme = sendme + "User Name " + reader["user_name"].ToString() + "<br />"; sendme = sendme + "User password " + reader["password"].ToString() + "<br />"; sendme = sendme + "User status " + reader["status"].ToString() + "<br />"; } reader.Close(); Return sendme; } } og mit funktions kald ser sådan her ud : protected void Page_Load(object sender, EventArgs e) { addconstring conn = new addconstring(); Response.Write(conn.GetString(12,tim)); }
Annonceindlæg fra Cognizant
07. oktober 2007 - 14:01
#1
Kan din kode overhovedt kompile? "return" skal skrives med småt.
07. oktober 2007 - 14:02
#2
Desuden skal sendme-stringen være defineret udenfor duin while-løkke.
07. oktober 2007 - 14:05
#3
Sådan? public class addconstring { public void GetString(Int id, String name) { SqlConnection myConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["dbconnect"].ConnectionString); SqlCommand command = new SqlCommand("select_user", myConnection); command.CommandType = CommandType.StoredProcedure; command.Parameters.Add("@id", SqlDbType.Int); command.Parameters.Add("@name", SqlDbType.VarChar); command.Parameters["@id"].Value = @id; command.Parameters["@name"].Value = @name; command.Connection.Open(); SqlDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection); string sendme = ""; while (reader.Read()) { sendme += "User id " + reader["user_id"].ToString() + "<br />"; sendme += "User Name " + reader["user_name"].ToString() + "<br />"; sendme += "User password " + reader["password"].ToString() + "<br />"; sendme += "User status " + reader["status"].ToString() + "<br />"; } reader.Close(); command.Connection.Close(); return sendme; } }
07. oktober 2007 - 14:12
#4
jeg får fejl i: public void GetString(Int id, String name)
07. oktober 2007 - 14:15
#5
ah har fået skrevet string + int med stort
07. oktober 2007 - 14:16
#6
jeg får fejl i : return sendme;
07. oktober 2007 - 14:23
#7
min connstr i web.config ser sådan her ud : <connectionStrings> <remove name="dbconnect"/> <add name="dbconnect" connectionString="server=myserver;uid=myuser;pwd=mypass;database=mydb" providerName="System.Data.SqlClient"/> </connectionStrings> og min SP ser sådan her ud : CREATE PROCEDURE select_user @name varchar(255), @id INT AS BEGIN select * from users Where user_name = @name and user_id = @id END
07. oktober 2007 - 14:24
#8
public void GetString(Int id, String name) til public string GetString(Int id, String name)
07. oktober 2007 - 14:30
#9
Ja selvfølgelig ! men den udskriver ingen ting også selv om at jeg sætter sendme ="en tekst" får while løkken.
07. oktober 2007 - 14:30
#10
public string GetString(string id,int name) { SqlConnection myConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["dbconnect"].ConnectionString); SqlCommand command = new SqlCommand("select_user", myConnection); command.CommandType = CommandType.StoredProcedure; command.Parameters.Add("@id", SqlDbType.Int); command.Parameters.Add("@name", SqlDbType.VarChar); command.Parameters["@id"].Value = @id; command.Parameters["@name"].Value = @name; command.Connection.Open(); SqlDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection); string sendme = "Tester nu "; while (reader.Read()) { sendme += "User id " + reader["user_id"].ToString() + "<br />"; sendme += "User Name " + reader["user_name"].ToString() + "<br />"; sendme += "User password " + reader["password"].ToString() + "<br />"; sendme += "User status " + reader["status"].ToString() + "<br />"; } reader.Close(); return sendme; }
07. oktober 2007 - 14:35
#11
nej metoden skal vel heller ikke udskrive noget, men der hvor du kalder den skal den vel. addconstring test = new addconstring(); Response.Write(test.GetString("1",2)); f.eks
07. oktober 2007 - 14:35
#12
problemet lægger i hvertfald der hvor du kalder metoden nu og ikke i selve metoden selv.
07. oktober 2007 - 14:41
#13
07/10-2007 14:30:45> Et hurtigt spørgsmål: Hvorfor har du fjernet linjen hvor jeg lukker for database-fobindelsen?
07. oktober 2007 - 14:42
#14
mit kald ser sådan her ud : addconstring conn = new addconstring(); Response.Write(conn.GetString(12,"tim")); men jeg får ingen fejl medelse
07. oktober 2007 - 14:43
#15
db lukningen er på funktionen men kom bare ikke med i den dele jeg copy/pasted
07. oktober 2007 - 14:47
#16
dit kald bør være addconstring conn = new addconstring(); Response.Write(conn.GetString("tim",12));
07. oktober 2007 - 14:50
#17
... eller: public string GetString(string id,int name) skal rettes til: public string GetString(int id, string name) :^)
07. oktober 2007 - 14:57
#18
ja jeg har kommet til at bytte om på hvad der er en string og en int : public string GetString(string id,int name) skulle være public string GetString(int id,string name) så det virker nu så smid et svar så er der points
07. oktober 2007 - 14:59
#19
:D
07. oktober 2007 - 15:00
#20
argh lidt for hurtigt - du valgte at ændre på dine metode istedet. så er det vel nielle.
07. oktober 2007 - 15:05
#21
forresten - så fejler din compiller noget hvis du siger den ikke fejler i sådan en situation - eller også kigger du i det forkerte sted når du kører projektet. Man kan godt starte et projekt selv om der er fejl og så starter det fra sidste version der fungerede uden fejl - det må være det som er tilfældet her.
07. oktober 2007 - 15:08
#22
Hvorfor giver du den egentlig både et id og et navn? Burde det ikke være nok med id'et?
07. oktober 2007 - 15:09
#23
Svar :^)
07. oktober 2007 - 15:09
#24
07/10-2007 15:00:26> Der vel en deler denne her?
07. oktober 2007 - 15:13
#25
Det bør det nok være eftersom han da i hvertfald fik rettet retur typen af mig:)
16. oktober 2007 - 08:35
#26
Så mangler du bare at acceptere vores svar. :^)
29. oktober 2007 - 18:22
#27
??
09. november 2007 - 18:29
#28
Takker for point :^)
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.