C# i MySQL

Odpowiedz Nowy wątek
2006-12-02 18:54
0

Mam pytanko.
Na kompie mam postawiony serwer Krasnala (Apache) i nie mogę się połączyć z Bazą Danych ze środowiska C#. Wie ktoś może jak wydobywac dane z tabelek korzystając z C#. Będę wdzięczny za każde info.

Pozdrawiam

Pozostało 580 znaków

2006-12-02 21:16
0

Bylo ostatnio w dziale c#


You need to learn how to walk
before you can run

Pozostało 580 znaków

2006-12-03 09:52
0

Dopiero od niedawna zająłem się C# więc proszę o wyrozumiałość.

Mam ogromny problem z łączeniem się z bazą danychna moim serwerze. Posiadam serwer krasnal. Oto kod jaki wpisuję:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;

/// <summary>
/// Summary description for Class1.
/// </summary>
class Class1
{
static void Main(string[] args)
{
const string CONN_STRING = "Server=localhost;Initial Catalog=bukmach;User Id=krasnal1;Password=krasnal"; 

using (SqlConnection con = new SqlConnection(CONN_STRING))
{
    SqlCommand query = con.CreateCommand();
    query.CommandText = "SELECT id FROM tabelka";
    con.Open();
using (SqlDataReader reader = query.ExecuteReader())
{
while(reader.Read())
{

}
}
con.Close();
}

}
}

W momencie gdy program próbuje się połączyć z Bazą Danych wyskakuje mi błąd:

System.Transactions Critical: 0 : <tracerecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" severity="Critical"><traceidentifier>http://msdn.microsoft.com/Tra[...];<description>Unhandled exception</description><appdomain>Polaczenie.exe</appdomain><exception><exceptiontype>System.Data.SqlClient.SqlException, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</exceptiontype><message>An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: TCP Provider, error: 0 - Nie można nawiązać połączenia, ponieważ komputer docelowy aktywnie go odmawia.)</message><stacktrace> at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Connect(Boolean&amp; useFailoverPartner, Boolean&amp; failoverDemandDone, String host, String failoverPartner, String protocol, SqlInternalConnectionTds connHandler, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject, Boolean aliasLookup)
at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)
at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)
at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)

Oraz pojawia się okienko wyjątku EXCEPTION w którym jest napis:

Exception System.Data.SqlClient.SqlException was thrown in debugee:
An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: TCP Provider, error: 0 - Nie można nawiązać połączenia, ponieważ komputer docelowy aktywnie go odmawia.)

OpenConnection()
Open()
Main() - c:\Nowy folder (2)\Polaczenie\Main.cs:22,3

Nie wiem w czym tkwi problem

HELP!!!!!!!!

Pozostało 580 znaków

2006-12-03 10:43
0

Komputer to nie wrozka, gdzie jest napisane, ze program ma sie polaczyc akurat z MySQL'em?

http://www.google.pl/search?q=c%23+mysql&amp;


Pozostało 580 znaków

2006-12-03 21:21
0

Czyli jak to trzeba poprawić??

Pozostało 580 znaków

2006-12-04 12:38
0

Tez mam apacha i bazke mysql i lacze sie przez connectory , czyli pliczek mysql.data.dll


private MySqlConnection     conn;
private DataTable           data;
private MySqlDataAdapter    da;
private MySqlCommandBuilder cb;

        public void polacz()
        {

            if (conn != null)
                conn.Close();

            try
            {
                conn = new MySqlConnection("server=127.0.0.1;user id=root;password=haslo;database=tabela");
                conn.Open();

            }
            catch (MySqlException ex)
            {
                MessageBox.Show("Error connecting to the server: " + ex.Message);
            }
        }

I wyswietlanie wierszy:

private void Form1_Load(object sender, EventArgs e)
        {
            polacz(); //tu funkcja polaczenia ta powyzej
            MySqlDataReader reader = null;

            MySqlCommand cmd = new MySqlCommand("select * from tabela", conn);
            try
            {

                reader = cmd.ExecuteReader();
                comboBox1.Items.Clear();

                while (reader.Read())
                {
                    comboBox1.Items.Add(reader.GetString(0));

                }

            }
            catch (MySqlException ex)
            {
                MessageBox.Show("Failed to populate database list: " + ex.Message);
            }
            finally
            {
                if (reader != null) reader.Close();
            }

Oczywiscie Mysql.Data.dll musimy dolaczyc do referencji i w uses dac: using MySql.Data.MySqlClient;

Wszystko dziala super.

P.S.
Sterownik jest np tutaj: http://mirror.etf.bg.ac.yu/mysql/Downloads/Connector-Net/mysql-connector-net-1.0.8-RC-noinstall.zip

Pozostało 580 znaków

2006-12-08 11:13
0

Oczywiscie Mysql.Data.dll musimy dolaczyc do referencji i w uses dac: using MySql.Data.MySqlClient;

Jak to się dodaje?? :|

Pozostało 580 znaków

2006-12-08 11:18
0
zuzlowiaki napisał(a)

Oczywiscie Mysql.Data.dll musimy dolaczyc do referencji i w uses dac: using MySql.Data.MySqlClient;

Jak to się dodaje?? :|

Aby dodać pliczek do referencji wybieras z menu PROJECT -> ADD REFERENCE -> Zakładka BROWSE i znajdujesz plik na kompie.

A co do uses jto na poczatku kazdego pliku .cs masz dolaczene przestrzenie nazw np:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;

wiec dodajesz jeszcze recznie:

using MySql.Data.MySqlClient;

Pozostało 580 znaków

2007-10-12 00:07
csh
0

korzystam z Visual Studio 2005.
Probowalem poczynic jakiekolwiek operacje na MySQL z poziomu ASP (C#). Niestety bezskutecznie. Ponizszy kod wypisze mi komunikat ze polaczenie nawiazane i ze zapytanie wykonane chociaz tak naprawde co bym nie wpisal jako zapytanie to zwroci wartosc rozna od FALSE :| A jak robie INSERT to zmian w bazie nie widac co implikuje ze caly ten mechanizm nie dziala :/

co robie zle? kod:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using MySql.Data.MySqlClient;

public partial class _Default : System.Web.UI.Page 
{

    private MySqlConnection conn = null;
    private DataTable data;
    private MySqlDataAdapter da;
    private MySqlCommandBuilder cb;

    protected void Page_Load(object sender, EventArgs e)
    {
        this.conn = null;

        this.conn = new MySqlConnection("server=127.0.0.1;user id=root;password=haslo;database=test");

        conn.Open();

        if (conn != null) Response.Write("tak udalo sie nawizac polaczenie<br />");

        MySqlDataReader reader = null;

        MySqlCommand cmd = null;

        cmd = 
            new MySqlCommand("INSERT INTO album VALUES (NULL,'Bartosz','glupoty')", conn);

        if (cmd != null) Response.Write("udalo sie wyslac zapytanie<br />");

    }

}

szczególnie pomogli mi: johny_bravo, chodnik, J2ME

Pozostało 580 znaków

2007-10-12 09:29
0
if (conn != null) Response.Write("tak udalo sie nawizac polaczenie<br />");

        MySqlDataReader reader = null;

        MySqlCommand cmd = null;

        cmd =
            new MySqlCommand("INSERT INTO album VALUES (NULL,'Bartosz','glupoty')", conn);

Mi się zdaje, że wcale nie zrobiłeś INSERT`a na bazie tylko przygotowałeś zapytanie.

Powinno być na końcu dopisane:

cmd.ExecuteNonQuery();

Pozostało 580 znaków

2007-10-12 12:26
csh
0

masz racje, dzieki!!


szczególnie pomogli mi: johny_bravo, chodnik, J2ME

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0