0

重複の可能性:
WCFはデータベースphpmyadminからデータをどのように消費できますか?

WCFで書くべき接続文字列についてお聞きしたいのですが。私のデータベースはphpmyadminのホストです。接続文字列はどのように書くべきですか?データベースが私のコンピューターで実行されているMicrosoftAccessまたはSQLServerを使用している場合、私はすでにそれを行っています。さて、私のデータベースがphpmyadminにあるかどうか知りたいです。

正直なところ、私は昨日このフォーラムですでにこの質問をしました。私の質問に答えてくれた人に感謝しますが、それが答えだとは思いません。愚かでごめんなさい、昨日あなたが言ったことを理解していません。あなたが怒った場合、あなたは答える必要はありません。ありがとう。

トピックから、これは私のWCFコードです。

public class Jobs : IJobs
{
    SqlConnection conn = new SqlConnection("Data Source=127.0.0.1; Initial Catalog=mydatabase;User=ael;Password=123456;Integrated Security=False");
    
    SqlDataAdapter da;
    DataSet ds;
    Data data = new Data();
    List<Data> listdata = new List<Data>();

    public DataSet Details()
    {
        conn.Open();
        ds = new DataSet();
        da = new SqlDataAdapter("Select * from data", conn);
        da.Fill(ds);
        conn.Close();
        return ds;
    }

    public Data GetDetails(int jobid)
    {
        conn.Open();
        ds = new DataSet();
        da = new SqlDataAdapter("Select * from data where id = " + jobid, conn);
        da.Fill(ds);
        if (ds.Tables[0].Rows.Count > 0)
        {
            data.userid = Convert.ToInt32(ds.Tables[0].Rows[0][0]);
            data.firstname = ds.Tables[0].Rows[0][1].ToString();
            data.lastname = ds.Tables[0].Rows[0][2].ToString();
            data.location = ds.Tables[0].Rows[0][3].ToString();
            ds.Dispose();
        }
        conn.Close();
        return data;
    }

    public List<Data> GetAllDetails()
    {
        conn.Open();
        ds = new DataSet();
        da = new SqlDataAdapter("Select * from data", conn);
        da.Fill(ds);
        foreach (DataRow dr in ds.Tables[0].Rows)
        {
            listdata.Add(
                new Data
                {
                    userid = Convert.ToInt32(dr[0]),
                    firstname = dr[1].ToString(),
                    lastname = dr[2].ToString(),
                    location = dr[3].ToString()
                }
            );
        }
        conn.Close();
        return listdata;
    }
}

これはwpfです

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, RoutedEventArgs e)
    {
        if (textbox1.Text.Trim().Length != 0)
        {
            ServiceReference1.JobsClient jc = new ServiceReference1.JobsClient();
            var x = jc.GetDetails(Convert.ToInt32(textbox1.Text));
            if (x.userid != 0)
            {
                textbox2.Text = x.userid.ToString();
                textbox3.Text = x.firstname;
                textbox4.Text = x.lastname;
                textbox5.Text = x.location;
            }
            else
                MessageBox.Show("RecordNotFound ... !", "Message", MessageBoxButton.OK, MessageBoxImage.Information);
        }
        else
            MessageBox.Show("EnterID", "Message", MessageBoxButton.OK, MessageBoxImage.Warning);
    }

    private void button2_Click(object sender, RoutedEventArgs e)
    {
        ServiceReference1.JobsClient jc = new ServiceReference1.JobsClient();
        dataGrid1.ItemsSource = jc.Details().Tables[0].DefaultView;
    }

    private void button3_Click(object sender, RoutedEventArgs e)
    {
        ServiceReference1.JobsClient jc = new ServiceReference1.JobsClient();
        dataGrid1.ItemsSource = jc.GetAllDetails() ;
    }
    
}

私はすでにphpmyadminでユーザーを作成し、それをWCFで使用しています。しかし、実行するたびに、「ユーザーaelのログインに失敗しました」という表示が表示されます。接続文字列に変更が必要なものはありますか?前に感謝します。

4

1 に答える 1

1

私の理解が正しければ、接続文字列の例が必要です。したがって、接続文字列の形式については、 ConnectionsStrings.comを参照してください。

たとえば、標準ポートを使用していて変更していない場合:

Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;

次に、MySQL コネクタ (名前空間はMySql.Data.MySqlClient ここからダウンロード可能) を使用して、MySQL データベースにプログラムで接続できます。詳細については、このチュートリアル: MySQL サーバーへの接続 を参照してください。

于 2012-06-17T15:04:07.667 に答える