You need to use OdbcConnection in your ASP.NET website, written in the C# programming language. Fix problems with your syntax of OdbcConnection, and also connection strings or parameters to the SQL query. Here we see ways to use this database connection effectively, with code written in the C# language.
Here we explore the OdbcConnection objects in the C# language and .NET Framework. After I introduce the basics, I will break down other details, such as how to add the code and actually use the OdbcConnection.
The acronym's definition. The acronym ODBC stands for open database connectivity. The "open" refers to the platform status, not the connection state. It took me a long time to figure out what all those letters stand for.
When to use ODBC. These connections work with more than one SQL server, so you can use ODBC in many different scenarios. The scenario I will outline in this article is using ODBC connections in an ASP.NET application that accesses a MySQL database.
Performance of the connection. Because of the compiled nature of C#, and the performance of MySQL, the applications you build with this combination have the potential to be very fast and responsive.
Usually, if you are using a third-party web host, they will provide you with a sample connection string. This is useful, but you need to be careful. There are some tricks. On my web apps, I have connection strings that look like the next block.
DRIVER={MySQL ODBC 3.51 Driver}; SERVER=p50mysq5555.secureserver.net; PORT=3306; DATABASE=OkieData; USER=SamAllen; PASSWORD=CutiePie; OPTION=0; Driver Specify the driver as MySQL ODBC 3.51 Driver in curly brackets. Quotes around driver section Don't put quotes around your driver. Database server Put your server URL in there. You will have to get this from your web host. Attribute values The database's name is OkieData. The user name is SamAllen. The password is CutiePie. All quotes If you read nothing else here read this: You can't put quotes around any of the values.
My experience. I spent a hectic half-hour or more trying to log in to the MySQL database with this configuration with quotes around my password. It didn't work. So don't use those quotes.
It is best practice, although not required, to put your connection string in Web.config in your ASP.NET project. Here are the lines I used. You will have to find the appropriate blocks in the XML config file yourself. In this next XML element example, I use the connection string name of WhateverName.
<!-- This XML should be put in Web.config -->
<connectionstrings>
<add name="WhateverName" connectionString="Exact string shown above"/>
</connectionstrings>Your page will have a code-behind file. At the top are your using statements. Add these two using statements at the top. The first adds the database stuff, and the second allows you to access your connection string.
using System.Data.Odbc; using System.Web.Configuration;
Here we see that you can create an OdbcConnection by combining it with the using statement. The next code block gets our special connection string from the Web.config file. The contents of that string are shown near the start of this article. In C#, you want to use the "using" blocks.
// Try to connect to the database based on our stored connection string.
string conString = WebConfigurationManager.
ConnectionStrings["WhateverName"].ConnectionString;
using (OdbcConnection con = new OdbcConnection(conString))
{
con.Open();
// We are now connected. Now we can use OdbcCommand objects
// to actually accomplish things.
}Description. The OdbcConnection with the identifier "con" is a new connection to the database. These are automatically pooled and shared. That code was written by Microsoft programmers very skilled in these things. So I won't try to improve upon that work.
In this next code block, I will declare a new OdbcCommand object, then add a parameter to the command object, and then read in data from the database. Note the question mark in the command text.
using (OdbcCommand com = new OdbcCommand(
"SELECT ColumnWord FROM OkieTable WHERE MagicKey = ?", con))
{
com.Parameters.AddWithValue("@var", paramWord);
using (OdbcDataReader reader = com.ExecuteReader())
{
while (reader.Read())
{
string word = reader.GetString(0);
// Word is from the database. Do something with it.
}
}
}Description. The OdbcCommand takes the connection object as the second parameter. The paramWord string is added to the command. It is named @var but that doesn't matter. The parameter is added in the first question mark (?). It looks through the table and find the rows where the MagicKey column is equal to paramWord.
Here we saw ways you can fix your bugs with OdbcConnection. This can be applied to any ADO.NET provider, from SqlConnection objects to SqlCeConnections and SQLiteConnections. Use the material here as a launching point for learning more about ADO.NET.