Rumah >pangkalan data >tutorial mysql >Mengapa Pertanyaan MySQL Saya Berfungsi dalam phpMyAdmin tetapi Gagal dalam .NET, dan Bagaimana Saya Boleh Membetulkannya?

Mengapa Pertanyaan MySQL Saya Berfungsi dalam phpMyAdmin tetapi Gagal dalam .NET, dan Bagaimana Saya Boleh Membetulkannya?

Patricia Arquette
Patricia Arquetteasal
2024-11-29 01:26:10241semak imbas

Why Does My MySQL Query Work in phpMyAdmin but Fail in .NET, and How Can I Fix It?

Cara Menggunakan Pembolehubah Takrif Pengguna MySQL dalam .NET MySqlCommand

Isu

Pengguna menghadapi kesukaran melaksanakan pertanyaan dalam .NET menggunakan runsAdapter MySqly yang berjaya dalam phpMyAdmin kerana kemasukan @rownum. Pembolehubah sistem ini disalah anggap sebagai parameter dan menimbulkan pengecualian kerana ia tidak ditakrifkan.

Penyelesaian

Untuk menyelesaikan isu ini, ikut langkah berikut:

  1. Kemas kini Rentetan Sambungan: Tambahkan ";Allow User Variables=True" pada sambungan rentetan.
  2. Kendalikan Percanggahan Keputusan: Ambil perhatian bahawa hasil pengiraan dalam .NET mungkin berbeza daripada phpMyAdmin. Dalam .NET, pengiraan bermula dari 0, manakala phpMyAdmin bermula dari 1.

Contoh

using (var sqlConnection = new MySqlConnection(SOURCE_CONNECTION + ";Allow User Variables=True"))
{
    sqlConnection.Open();

    MySqlDataAdapter sqlAdapter = new MySqlDataAdapter(SqlStatement, sqlConnection);

    DataTable table = new DataTable();
    sqlAdapter.Fill(table);
    sqlConnection.Close();

    return table;
}

Petua Tambahan

Untuk kaedah alternatif mendapatkan nombor baris , pertimbangkan pilihan berikut:

  • Tambah ID Baris Lajur: Tambahkan lajur pada jadual pangkalan data untuk menyimpan ID berjujukan.
  • Gunakan jadual temp: Buat jadual sementara yang termasuk lajur nombor baris dan sambungkannya dengan asal anda jadual.
  • Gunakan kaedah pembantu: Tulis kaedah pembantu tersuai yang menjana nombor baris berdasarkan data baris.

Atas ialah kandungan terperinci Mengapa Pertanyaan MySQL Saya Berfungsi dalam phpMyAdmin tetapi Gagal dalam .NET, dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn