webForumDet fria alternativet

Data till textfield, eller nått sånt....

.NET

3 svar · 202 visningar · startad av aleborg

Medlem sedan jan. 20013 341 inlägg
Frågan#1

Har en sida med följande HTML:

<table class="table_600_Grey" id="TemplateForm" runat="server">
	<tr>
		<td>Name of template:</td>
		<td><input type="text" name="name" class="input400" id="name" maxLength="50" runat="server" dataFld="name" dataSrc="name">
		</td>
	</tr>
	<tr>
		<td width="174">Number of domains:</td>
		<td width="411"><input type="text" name="domains" class="input100" id="domains" tabIndex="0" maxLength="10" runat="server">
			maximum
		</td>
	</tr>
</table>

när den här sidan laddas så ska följande kod köras i Page_load:

if(Request.QueryString["id"]!="")
{
	string connectionString = @"Driver={MySQL ODBC 3.51 Driver};server=192.168.2.9;database=webcresiter;uid=usr;pwd=pass";
	OdbcConnection conn= new OdbcConnection(connectionString);
	conn.Open();
	string query= "SELECT admin_templateID,name,domains FROM admin_templates where admin_templateID="+Request.QueryString["id"];
	OdbcDataAdapter da = new OdbcDataAdapter(query, conn);
	DataSet ds = new DataSet();

	da.Fill(ds, "Templates");

	if (!Page.IsPostBack)
	{

	}
	conn.Close();
}

Som ni ser så är inte Page_load färdig, hur går jag till väga för att få datan från databasen att hamna i motsvarande textfields value?
Jag har kollat i flera böcker efter databashantering, men det dom tar upp är VS.NET's inbyggda "wizard" och självklart inte ett ord om MySQL. Dessutom står det ytterst lite om databashantering överhuvudtaget i böckerna :( Så ni får stå ut med att jag frågar här :D

Medlem sedan sep. 20011 914 inlägg
#2
name.value = ds.Tables[0].Rows[0][1].ToString();
domains.value = ds.Tables[0].Rows[0][2].ToString();
Medlem sedan aug. 20003 575 inlägg
#3

Är det inte bättre att använda DataReader() i detta fall eftersom han bra är ute efter en rad i databasen ?

Medlem sedan sep. 20011 914 inlägg
#4

Re: Data till textfield, eller nått sånt....

Jo, det är väl att föredra. Här är koden till det.

if(Request.QueryString["id"]!="")
{
   string connectionString = @"Driver={MySQL ODBC 3.51 Driver};server=192.168.2.9;database=webcresiter;uid=usr;pwd=pass";
   OdbcConnection conn = new OdbcConnection(connectionString);
   string query = "SELECT admin_templateID,name,domains FROM admin_templates where admin_templateID = "+Request.QueryString["id"];
   OdbcCommand cmd= new OdbcCommand(query,conn);
   
   conn.Open();
   OdbcDataReader dr;
   dr = cmd.ExecuteReader();
   while (dr.Read()) {
      name.value = dr.GetString("name");
      domains.value = dr.GetString("domains");
   }
   dr.Close();
   conn.Close();
...
}
257 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)