DropDownbox Befolkning Fra Mssql Db Dotnet
Transcript of DropDownbox Befolkning Fra Mssql Db Dotnet
![Page 1: DropDownbox Befolkning Fra Mssql Db Dotnet](https://reader030.fdocuments.us/reader030/viewer/2022021119/577d33fa1a28ab3a6b8c44be/html5/thumbnails/1.jpg)
8/8/2019 DropDownbox Befolkning Fra Mssql Db Dotnet
http://slidepdf.com/reader/full/dropdownbox-befolkning-fra-mssql-db-dotnet 1/8
DropDownBoxMSSQL 'DataBase befolker' en combobox'
myNerdStuff
Demo Projektet her er en website (ASP.NET) hvor man kan vælge mellem tre forskellige dimser idropdown menu, og når der klikkes på en dims, kommer en beskrivelse af dimsen frem i en textbox.
Data i dropdownbox og textbox kommer fra msSQL database
Solution explorer ser ud som billede viser herunder:
Start med at lave en ny website og kald den feks ddltest.
højreklik, add item, vælg web form
Den hedder nu default.aspx og default.aspx.cs
Fyld nu koden herunde ind i filerne:
.Gratis guide fra myNerdStuff, platform: NET 4 / C# - Version 30-11-10 side 1 af 8
![Page 2: DropDownbox Befolkning Fra Mssql Db Dotnet](https://reader030.fdocuments.us/reader030/viewer/2022021119/577d33fa1a28ab3a6b8c44be/html5/thumbnails/2.jpg)
8/8/2019 DropDownbox Befolkning Fra Mssql Db Dotnet
http://slidepdf.com/reader/full/dropdownbox-befolkning-fra-mssql-db-dotnet 2/8
DropDownBoxMSSQL 'DataBase befolker' en combobox'
myNerdStuff
Indhold af default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">
<title></title></head>
<body> <form id="form1" runat="server">
<div> <asp:DropDownList ID="DropDownList1" runat="server"
onselectedindexchanged="DropDownList1_SelectedIndexChanged" AppendDataBoundItems="True" AutoPostBack="True">
<asp:ListItem Value="-1">- Dimser -</asp:ListItem> </asp:DropDownList>
</div>
<asp:TextBox ID="txtResult" runat="server" Height="168px" TextMode="MultiLine" Width="322px"></asp:TextBox>
</form>
</body></html>
Indhold af default.aspx.cs
using System;
using System.Collections.Generic;using System.Linq;
using System.Web;using System.Web.UI;
using System.Web.UI.WebControls;using System.Data;
using System.Data.SqlClient; // Vigtig !!using System.Web.Configuration; // Vigtig !!
public partial class _Default : System.Web.UI.Page
{ string conString =
WebConfigurationManager.ConnectionStrings["NerdStuffDB"].ConnectionString;
protected void Page_Load(object sender, EventArgs e){
if (!IsPostBack)
{
//Bruges ikke, viser hvordan der laves manuel befolkning af dropdownliste,//hvis data ikke skal komme fra database
.Gratis guide fra myNerdStuff, platform: NET 4 / C# - Version 30-11-10 side 2 af 8
![Page 3: DropDownbox Befolkning Fra Mssql Db Dotnet](https://reader030.fdocuments.us/reader030/viewer/2022021119/577d33fa1a28ab3a6b8c44be/html5/thumbnails/3.jpg)
8/8/2019 DropDownbox Befolkning Fra Mssql Db Dotnet
http://slidepdf.com/reader/full/dropdownbox-befolkning-fra-mssql-db-dotnet 3/8
DropDownBoxMSSQL 'DataBase befolker' en combobox'
myNerdStuff
//DropDownList1.Items.Add("solarDatalogger");
//DropDownList1.Items.Add("stokerDatalogger");
//DropDownList1.Items.Add("homeAutomation");
string sqlString = "SELECT * FROM TitelBeskrivelse";
SqlConnection con = new SqlConnection(conString);
SqlCommand cmd = new SqlCommand(sqlString, con);
con.Open(); SqlDataReader myReader = cmd.ExecuteReader();
DropDownList1.DataSource = myReader;DropDownList1.DataTextField = "Titel";
DropDownList1.DataValueField = "Beskrivelse";DropDownList1.DataBind();
myReader.Close();con.Close();
}
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
string sqlString = "SELECT Beskrivelse FROM TitelBeskrivelse WHERE (Titel =@Titel)";
//@Titel indeholder det der er valgt i dropdown liste
SqlConnection con = new SqlConnection(conString);
SqlCommand cmd = new SqlCommand(sqlString, con);cmd.Parameters.AddWithValue("@Titel", DropDownList1.SelectedItem.Text);
con.Open();
SqlDataReader myReader = cmd.ExecuteReader();myReader.Read();
txtResult.Text = myReader["Beskrivelse"].ToString();
myReader.Close();con.Close();
}}
.Gratis guide fra myNerdStuff, platform: NET 4 / C# - Version 30-11-10 side 3 af 8
![Page 4: DropDownbox Befolkning Fra Mssql Db Dotnet](https://reader030.fdocuments.us/reader030/viewer/2022021119/577d33fa1a28ab3a6b8c44be/html5/thumbnails/4.jpg)
8/8/2019 DropDownbox Befolkning Fra Mssql Db Dotnet
http://slidepdf.com/reader/full/dropdownbox-befolkning-fra-mssql-db-dotnet 4/8
DropDownBoxMSSQL 'DataBase befolker' en combobox'
myNerdStuff
Befolk combobox / dropdown med data fra database
Opret en tabel i databasen, enten sqlExpress eller som brugt her, msSQL 2008 R2.
Tabel hedder her blot: Titel+Beskrivelse , og indeholder felterne:
TitelID, Titel og Beskrivelse.
Sæt TitelID til primarykey (højreklik, set primary key) og sørg for den selv tæller op ved at sætteIdentity til yes, se billedet her hvordan:
Opret nu felterne og gem ved at trykke på alt s og vælg et navn feks. TitelBeskrivelse.
Herefter skriv nogle data ind i databasefelterne, dem der skal vises i dropDownList og dem som der skal åbnes og vises når der klikkes på dropDownList.
Højreklik på tabel, og klik på 'show table data' og skriv noget sigende ind.
.Gratis guide fra myNerdStuff, platform: NET 4 / C# - Version 30-11-10 side 4 af 8
![Page 5: DropDownbox Befolkning Fra Mssql Db Dotnet](https://reader030.fdocuments.us/reader030/viewer/2022021119/577d33fa1a28ab3a6b8c44be/html5/thumbnails/5.jpg)
8/8/2019 DropDownbox Befolkning Fra Mssql Db Dotnet
http://slidepdf.com/reader/full/dropdownbox-befolkning-fra-mssql-db-dotnet 5/8
DropDownBoxMSSQL 'DataBase befolker' en combobox'
myNerdStuff
Web.Config Editeres
Der skal nu laves en connectionstring i web.config
Streng vist herunder, men det anbefales at bruge http://connectionstrings.com/ her finde
connectionstring til alle databaser.. Det er bedst at copy/paste koden direkte..
<connectionStrings>
<add name="NavnDerBrugeICsharpkoden" connectionString="Data Source=localhost;InitialCatalog=tabellensNavnImsSQLdb;Integrated Security=True;Pooling=False"/>
</connectionStrings>
Alternativt kan streng kopierer fra databasen, klik på tabellens navn og åben properties vinduet.
.Gratis guide fra myNerdStuff, platform: NET 4 / C# - Version 30-11-10 side 5 af 8
![Page 6: DropDownbox Befolkning Fra Mssql Db Dotnet](https://reader030.fdocuments.us/reader030/viewer/2022021119/577d33fa1a28ab3a6b8c44be/html5/thumbnails/6.jpg)
8/8/2019 DropDownbox Befolkning Fra Mssql Db Dotnet
http://slidepdf.com/reader/full/dropdownbox-befolkning-fra-mssql-db-dotnet 6/8
DropDownBoxMSSQL 'DataBase befolker' en combobox'
myNerdStuff
Gennemgang af ændringerne i koden i forhold til tidligere Projekt(PDF Manuel befolkning: DropDownbox-Manuel-Befolkning-Dotnet )
Forbindelse til conncetion fra C# codebehind
Nu skal der laves forbindelse fra C# koden i default.aspx.cs:
indsæt: string conString =
WebConfigurationManager.ConnectionStrings["NavnDerBrugeICsharpkoden"].ConnectionString;
Der skal laves en ekstra using for at webconfig kan køre:
using System.Data.SqlClient; // Husk
using System.Web.Configuration; // Husk
I protected void page_load :
uskift:
//old manuel befolkning //DropDownList1.Items.Add("solarDatalogger");
//DropDownList1.Items.Add("stokerDatalogger"); //DropDownList1.Items.Add("homeAutomation");
Med: string sqlString = "SELECT * FROM TitelBeskrivelse";
SqlConnection con = new SqlConnection(conString); SqlCommand cmd = new SqlCommand(sqlString, con);
con.Open();
SqlDataReader myReader = cmd.ExecuteReader();
DropDownList1.DataSource = myReader;
DropDownList1.DataTextField = "Titel";DropDownList1.DataValueField = "Beskrivelse";
DropDownList1.DataBind();myReader.Close();
con.Close();
Hvis connectionstring er rigtig er der ingen røde streger og
dropdown er nu fyldt med 'Titel' feltet fra databasen.
.Gratis guide fra myNerdStuff, platform: NET 4 / C# - Version 30-11-10 side 6 af 8
![Page 7: DropDownbox Befolkning Fra Mssql Db Dotnet](https://reader030.fdocuments.us/reader030/viewer/2022021119/577d33fa1a28ab3a6b8c44be/html5/thumbnails/7.jpg)
8/8/2019 DropDownbox Befolkning Fra Mssql Db Dotnet
http://slidepdf.com/reader/full/dropdownbox-befolkning-fra-mssql-db-dotnet 7/8
DropDownBoxMSSQL 'DataBase befolker' en combobox'
myNerdStuff
Ofte vil man gerne have der står noget i dropdown box der guider til hvad den kan feks: - Dimser -
Guide til indsætning af dropdown tekst:
• Klik først på den lille pil th. for dropdown boxen / comboboxen
• Her vælges edit item
• List collection Editor kommer frem
• tryk på add og
• ændre text i højre side til den test der skal stå i dropDownList når der ikke er valgt noget
•i value SKAL der skrives -1 *
* I value kan man ved behov skrive feks 2, hvorefter der startes ved menupunkt 2 ved load af websiten
Klik nu OK og HUSK: tick autopostback on !!!
.Gratis guide fra myNerdStuff, platform: NET 4 / C# - Version 30-11-10 side 7 af 8
![Page 8: DropDownbox Befolkning Fra Mssql Db Dotnet](https://reader030.fdocuments.us/reader030/viewer/2022021119/577d33fa1a28ab3a6b8c44be/html5/thumbnails/8.jpg)
8/8/2019 DropDownbox Befolkning Fra Mssql Db Dotnet
http://slidepdf.com/reader/full/dropdownbox-befolkning-fra-mssql-db-dotnet 8/8
DropDownBoxMSSQL 'DataBase befolker' en combobox'
myNerdStuff
Slut med at checke properties, den skal nu se sådan ud:
Vis nu webstedet i browseren. Nederst i browser står der kort: sender anmodning, det er autopostback der virker og sender tilbage til browser. Der kommer ikke noget frem før
DropDown Click Event i C# code behind
Klik nu på dropdownList i designer så du ender i 'codebehind!!
Nu skal dropdownList sættes op så der kommer noget 'action', eller rettere selectedItem skal nu
bruges til at finde noget i databasen:
string sqlString = "SELECT Beskrivelse FROM TitelBeskrivelse WHERE (Titel = @Titel)";
//@Titel indeholder det der er valgt i dropdown liste
SqlConnection con = new SqlConnection(conString); SqlCommand cmd = new SqlCommand(sqlString, con);
cmd.Parameters.AddWithValue("@Titel", DropDownList1.SelectedItem.Text);
con.Open(); SqlDataReader myReader = cmd.ExecuteReader();
myReader.Read();txtResult.Text = myReader["Beskrivelse"].ToString();
myReader.Close();con.Close();
Resultat fra databasen kommer til at stå i textboxen:
.Gratis guide fra myNerdStuff, platform: NET 4 / C# - Version 30-11-10 side 8 af 8