Reputation: 2596
I am trying to show data from Mysql database base on value of textbox entered by user as in example shown below
what I need now since I am begginer in asp.net what is the fastest aproche to use to display that data ?
which is betteer using div or table tags for the layout ?
is their any bettwer code ? like using label to display output is it good idea? or their is something better ?
code markup
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AccountInquiry.aspx.cs" Inherits="BankingDemo.AccountInquiry" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Banking Site (Demo)</title>
</head>
<body>
<form ID="from" runat="server">
<div>
<asp:Label ID="lbl_ID" runat="server">Enter ID</asp:Label>
</div>
<asp:TextBox ID="ID" runat="server"></asp:TextBox>
<asp:Button ID="QurAcc" runat="server" Text="Query" OnClick="QurAcc_Click" />
<asp:Label ID="lbl_CityName" runat="server"></asp:Label>
</form>
</body>
</html>
c# code
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.Configuration;
using MySql;
using MySql.Data;
using MySql.Data.Types;
using MySql.Data.MySqlClient;
namespace BankingDemo
{
public partial class AccountInquiry : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
public void get_info()
{
string connstr = ConfigurationManager.ConnectionStrings["ConnConfig"].ToString();
string cmdtxt = @"select Name,CountryCode,District,Population from world.city where id = @ID_param";
string temp = null;
try
{
using (MySqlConnection conn = new MySqlConnection(connstr))
using (MySqlCommand cmd = new MySqlCommand(cmdtxt))
{
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@ID_param", ID.Text);
cmd.Connection = conn;
conn.Open();
MySqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
temp += "<br />";
temp += reader["Name"].ToString();
temp += reader["CountryCode"].ToString();
temp += reader["District"].ToString();
temp += reader["Population"].ToString();
temp += "<br />";
}
conn.Close();
}
lbl_CityName.Text = temp;
}
catch (Exception ex)
{
//ex.Message;
}
}
protected void QurAcc_Click(object sender, EventArgs e)
{
get_info();
}
}
}
Upvotes: 0
Views: 3393
Reputation: 5341
The correct way to do that is to create four labels, like that:
<br/>
<asp:Label ID="lblCityName" runat="server"></asp:Label>
<br/>
<asp:Label ID="lblCountry" runat="server"></asp:Label>
<br/>
<asp:Label ID="lblDistrict" runat="server"></asp:Label>
<br/>
<asp:Label ID="lblPopulation" runat="server"></asp:Label>
C#:
while (reader.Read())
{
lblCityName.Text = "Name: " + reader["Name"].ToString();
lblCountry.Text = "Country Code: " + reader["CountryCode"].ToString();
lblDistrict.Text = "District " + reader["District"].ToString();
lblPopulation.Text = "Population: " + reader["Population"].ToString();
}
Upvotes: 1