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


Hämta id från querystring och föra in i databasen

Postades av 2007-09-30 19:55:41 - Stefan Lejon, i forum asp.net generellt, Tråden har 4 Kommentarer och lästs av 868 personer

Snälla, hjälp mig med detta förmodligen väldigt simpla problem.
Jag har med mig alla id till en sida som heter createTest. Querysträngen ser ut enligt följande;
http://xxx.xxxx.xxx/....../LoggedIn/Usecase/CreateTestCase.aspx?projectID=11&usecaseID=209&scenarioID=1016

Mitt problem är hur jag nu hämtar det sista id't, alltså scenarioID=1016, och skickar med det till databasen tillsammans med alla andra värden. För tillfället ser det ut såhär i codebehind i en funktion för "Spara"-knappen på sidan:

TextBox name = (TextBox)fwTestCase.FindControl("name");
TextBox step01 = (TextBox)fwTestCase.FindControl("step01");
TextBox step02 = (TextBox)fwTestCase.FindControl("step02");
TextBox testcaseID = (TextBox)fwTestCase.FindControl("testcaseID");
TextBox testcasepass = (TextBox)fwTestCase.FindControl("testcasepass");
string ScenarioID = Request.QueryString("scenarioID");

Alla värden förs in i databasen, utom just detta scenarioID. Vad gör jag för fel?

Om ni undrar så har jag också ett par klassfiler som gör att det hela fungerar, men felet lär finnas i koden här ovan.


Svara

Sv: Hämta id från querystring och föra in i databasen

Postades av 2007-09-30 21:57:03 - Lars-Erik Eriksson

Om du debuggar och stoppar på raden
string ScenarioID = Request.QueryString("scenarioID");
vad tilldelas ScenarioID för värde?


Svara

Sv:Hämta id från querystring och föra in i databasen

Postades av 2007-10-01 22:48:34 - Stefan Lejon

Kan inte debugga eftersom jag kör mot en svn :(


Svara

Sv: Hämta id från querystring och föra in i databasen

Postades av 2007-10-02 07:33:12 - Johan Djupmarker

<b>Kan inte debugga eftersom jag kör mot en svn :(</b>

På vilket sätt påverkar det att du inte kan debugga?

Om du inte kan göra det får du skriva ut innehållet i en textbox eller liknande, helt omöjligt att felsöka om man inte ser vilken indata du har.

/Johan


Svara

Sv:Hämta id från querystring och föra in i databasen

Postades av 2007-10-03 14:31:17 - Stefan Lejon

Har nu löst problemet med att jag inte kunde debugga (servern var tillfälligt stängd när jag testade), och konstaterar då att värdet är NULL, vilket jag inte tillåter.

Alltså måste jag göra något fel när jag hämtar id't från querystringen:

<asp:FormView ID="fwTestCase" runat="server" DataSourceID="dsTestCase" DefaultMode="Insert" >
<InsertItemTemplate>
<asp:TextBox ID="name" runat="server" Text="<%# Bind('TestCaseName') %>" ></asp:TextBox>
<asp:Button ID="btnSparaTestCase" Text="Spara" CommandName="Insert" runat="server" OnClick="btnSparaTestCase_Click" />
</InsertItemTemplate>
</asp:FormView>
<asp:ObjectDataSource DataObjectTypeName="TestCase"
ID="dsTestCase"
runat="server"
InsertMethod="InsertTestCase"
TypeName="TestCaseDB"
SelectMethod="GetTestCase">
<InsertParameters>
<asp:QueryStringParameter Name="scenarioID" QueryStringField="scenarioID" Type="Int32" />
</InsertParameters>
</asp:ObjectDataSource>

I codebehind ser det ut såhär:

protected void btnSparaTestCase_Click(object sender, System.EventArgs e)
{
TextBox name = (TextBox)fwTestCase.FindControl("name");
int scenarioID = int.Parse(Request.QueryString["scenarioID"]);
}

}

Har det någon betydelse att querystringen har flera olika id'n:

CreateTestCase.aspx?projectID=11&usecaseID=208&scenarioID=1014

?

I klassfilerna ser det ut enligt följande:

TestCase.cs

public class TestCase
{
public TestCase()
{
// en tom konstruktor
}

private int scenarioID;
public int ScenarioID
{
get { return scenarioID; }
set { scenarioID = value; }
}

public TestCase(int testCaseID, int scenarioID, string steg01, string steg02, string steg03, string steg04, string steg05, string steg06, string steg07, string steg08, string steg09, string steg10, int testCasePass, string testCaseName)
{
this.TestCaseID = testCaseID;
this.ScenarioID = scenarioID;
osv...
}
}

TestCaseDB.cs

public class TestCaseDB
{
public TestCaseDB()
{
// tom konstruktor
}

public int InsertTestCase(TestCase testcase)
{
// connectionsträngen, skapar ny connection
string ConnectionString = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["SqlConnection"].ConnectionString;
SqlConnection con = new SqlConnection(ConnectionString);

// anger namnet på proceduren och talar om att det är en stored procedure
SqlCommand cmd = new SqlCommand("TestCase.SparaTestCase", con);
cmd.CommandType = CommandType.StoredProcedure;

// skapar nya parametrar som håller värdena
cmd.Parameters.Add(new SqlParameter("@ScenarioID", SqlDbType.Int));
cmd.Parameters["@ScenarioID"].Value = testcase.ScenarioID;
osv...
cmd.Parameters.Add(new SqlParameter("@TestCaseID", SqlDbType.Int));
cmd.Parameters["@TestCaseID"].Direction = ParameterDirection.Output;



try
{
// Öppna connection och kör frågan
con.Open();
cmd.ExecuteNonQuery();
return (int)cmd.Parameters["@TestCaseID"].Value;
}
catch(Exception sErr)
{
throw new Exception(sErr.Message);
}
finally
{
con.Close(); // Stänger anslutningen
}
}

}


Svara

Nyligen

  • 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
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

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 170
27 953
271 705
648
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