MySQL Connector/NET 版本注意事項
在 Crystal Reports 中建立報表時,有兩個選項可讓您在設計報表時存取 MySQL 資料。
第一個選項是在設計報表時使用 Connector/ODBC 作為 ADO 資料來源。您將能夠瀏覽您的資料庫,並使用拖放來選擇表格和欄位,以建立您的報表。此方法的缺點是,您必須在您的應用程式中執行額外的工作,才能產生與您的報表預期的資料集相符的資料集。
第二個選項是在 VB.NET 中建立資料集,並將其儲存為 XML。然後,可以使用此 XML 檔案來設計報表。當在您的應用程式中顯示報表時,此方法效果很好,但在設計時較不靈活,因為您必須在建立資料集時選擇所有相關的欄。如果您忘記了某個欄,則必須重新建立資料集,才能將該欄新增到報表中。
以下程式碼可用於從查詢建立資料集並將其寫入磁碟
C# 程式碼範例
DataSet myData = new DataSet();
MySql.Data.MySqlClient.MySqlConnection conn;
MySql.Data.MySqlClient.MySqlCommand cmd;
MySql.Data.MySqlClient.MySqlDataAdapter myAdapter;
conn = new MySql.Data.MySqlClient.MySqlConnection();
cmd = new MySql.Data.MySqlClient.MySqlCommand();
myAdapter = new MySql.Data.MySqlClient.MySqlDataAdapter();
conn.ConnectionString = "server=127.0.0.1;uid=root;" +
"pwd=12345;database=test";
try
{
cmd.CommandText = "SELECT city.name AS cityName, city.population AS CityPopulation, " +
"country.name, country.population, country.continent " +
"FROM country, city ORDER BY country.continent, country.name";
cmd.Connection = conn;
myAdapter.SelectCommand = cmd;
myAdapter.Fill(myData);
myData.WriteXml(@"C:\dataset.xml", XmlWriteMode.WriteSchema);
}
catch (MySql.Data.MySqlClient.MySqlException ex)
{
MessageBox.Show(ex.Message, "Report could not be created",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
Visual Basic 程式碼範例
Dim myData As New DataSet
Dim conn As New MySqlConnection
Dim cmd As New MySqlCommand
Dim myAdapter As New MySqlDataAdapter
conn.ConnectionString = "server=127.0.0.1;" _
& "uid=root;" _
& "pwd=12345;" _
& "database=world"
Try
conn.Open()
cmd.CommandText = "SELECT city.name AS cityName, city.population AS CityPopulation, " _
& "country.name, country.population, country.continent " _
& "FROM country, city ORDER BY country.continent, country.name"
cmd.Connection = conn
myAdapter.SelectCommand = cmd
myAdapter.Fill(myData)
myData.WriteXml("C:\dataset.xml", XmlWriteMode.WriteSchema)
Catch ex As Exception
MessageBox.Show(ex.Message, "Report could not be created", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
產生的 XML 檔案可以用作設計報表時的 ADO.NET XML 資料來源。
如果您選擇使用 Connector/ODBC 設計報表,可以從 dev.mysql.com 下載。