Saludos, estoy configurando un GridView que mostrara datos dependiendo de una variable que recibira por medio de un queryString, con un el conector de Mysql me funciona perfecto, pero con el ODBC no me resulta, de hecho cuando configuro el statement del data source el recuadro 'columns' no me aparece ninguna coumna(nombre,fecha_evento,lugar,etc.) solo * ( ) Yo manualmente puse el codigo que aquí anexo; pero al correr el programa me dice:

[Error]
Error de servidor en la aplicación '/'.

'ERROR [42000] [MySQL][ODBC 3.51 Driver][mysqld-5.0.45-community-nt]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'cal_id)' at line 1'


[Codigo]
<body>
<form id="form1" runat="server">
<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1"
EnableModelValidation="True" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="cal_name" HeaderText="cal_name"
SortExpression="cal_name" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:wcl1nConnectionString %>"
ProviderName="<%$ ConnectionStrings:wcl1nConnectionString.ProviderNa me %>"

SelectCommand="SELECT cal_name FROM eventos WHERE (cal_id = ?cal_id)">
<SelectParameters>
<asp:QueryStringParameter DefaultValue="616" Name="cal_id"
QueryStringField="cal_id" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
<div>
</div>
</form>
</body>

Les agradecería me pudieran ayudar.