webForumDet fria alternativet

Webbsidor med C#, MySQL och codebehind

6 svar · 448 visningar · startad av aleborg

aleborgMedlem sedan jan. 20013 341 inlägg
#1

Någon som kan rekommendera lite bra tutorials till detta?
Sitter och sliter mig i håret över dom första stegen.

Har lyckats verfiera och uppdatera data i en databas, men har inte en blekaste aning om hur man fyller en datagrid med datan från DB:n. Det jag har gjort är att kolla användarnamn och lösenord samt ändra lösenord. men nu behöver jag få fram flera rader ur DB:n och presentera dom i en tabell.
Jag vill försöka hålla själva .aspx sidan så ren från kod som möjligt eftersom den som har scriptet ska kunna ändra layouten enkelt.

Någon som kan hjälpa mig?

BrimbaMedlem sedan dec. 19995 875 inlägg
#2

public class FillMe : UserControl
{
protected DataGrid  dgUsers; //namnet på din datagrid på sidan
protected DataSet   ds; //your dataset...

  private void bindData()
  {
    dgUsers.DataBind();
  }
  public void createDataSource()
  {
    ds=DBClass.getUserS(7,"dataset_Tablename")
  }

  public void Page_Load(object sender, System.EventArgs e)
  {
    if (!IsPostBack)
    {
      createDataSource();
      bindData();
    }
  }

}

public class DBClass
{
  protected static SqlConnection connection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]);
  public DataSet getUsers(int id, string tblName)
  {
    string SQLStmt = "sp_getUsers";
    SqlCommand command = new SqlCommand(SQLStmt, connection); 
    command.CommandType = CommandType.StoredProcedure;
    command.Parameters.Add("@lngUserID", SqlDbType.Int).Value = id;
    SqlDataAdapter dbAdapter = new SqlDataAdapter(command);
    DataSet _ds = new DataSet();
    DbAdapter.Fill(ds, tblName);
    return ds;
  }
}

I din presentation måste du sedan ha skapat en datagrid med namnet dgUsers

Detta är ett sätt, man kan göra på andra sätt också.

aleborgMedlem sedan jan. 20013 341 inlägg
#3

Men är inte det för MS SQL?
Den koden jag har använt är:

			string ldsn= "Driver={MySQL ODBC 3.51 Driver};server=192.168.2.9;database=web;uid=usr;pwd=pass";
			string query= "SELECT * FROM admin_templates where admin_templateID=1";
			OdbcConnection cnnS = new OdbcConnection(ldsn);
			OdbcCommand cmdS = new OdbcCommand(query, cnnS);
			cnnS.Open();
			OdbcDataReader drS = cmdS.ExecuteReader();
			if(drS.Read())
			{
				//
			}
			drS.Close();
			cnnS.Close();
renholmMedlem sedan apr. 20012 266 inlägg
#4

I Quickstarten finns det en del bra exempel, hurhttp://samples.gotdotnet.com/quickstart/aspplus/

NickemannenMedlem sedan aug. 20003 575 inlägg
#5

Man kan använda OleDb.
Då skall connectionsträngen se ut såhär.

"Provider=MySQLProv;Data Source=mydb;User Id=UserName;Password=asdasd;"

Om du använder odbc: (som i din kod)

lokalt på din dator

Driver={mySQL};Server=mySrvName;Option=16834;Database=mydatabase;"

Använder remote

"Driver={mySQL};Server=data.domain.com;Port=3306;Option=131072;Stmt=;Database=my-database;Uid=username;Pwd=password;"

Lättast är nog att använda OleDb. Vilket som är snabbast osv vet jag inte men det borde inte vara någon större skillnad om det nu skulle vara någon.

PMedlem sedan jan. 20012 204 inlägg
#6

Odbc är snabbare än OleDb om du kör vi mysql.

PoPsorkMedlem sedan mars 200315 inlägg
#7

Jag rekomenderar MySQLDriverCS jag använder det och den funkar prima att ansluta till MySQL databaser med, man lägger 2 filer i sin bin mapp sen använder man namespacec för att inkludera den, mer information finns i dokumentationen!

260 ms totalt · 3 externa anrop · v20260731065814-full.86db40fa
0 ms — hämta forumlista (cache)
126 ms — hämta statistik (db)
132 ms — hämta tråd, inlägg och bilagor (db)