G
Guest
Dear All:
I have been developing ASP.NET application on MS Access database using ODBC.
When I was trying to save more than 255 chars in a Memo field I got the
following error.
ERROR [HY104] [Microsoft][ODBC Microsoft Access Driver]Invalid precision
value
Below is the code snippet of two function where it is breaking. Any advice
on this would be greatly appreciated.
----CODE BEGIN---
public static int ExecuteNonQuery(string connString, string cmdText, params
object[] parameterValues)
{
OdbcConnection conn = new OdbcConnection(connString);
conn.Open();
OdbcCommand cmd = new OdbcCommand(cmdText, conn);
if ((parameterValues != null) && (parameterValues.Length > 0))
{
AssignParameterValues(cmd, parameterValues);
}
// GOT THE FOLLOWING ERROR WHILE EXECUTING THE UPDATE QUERY WITH MORE THAN
256 CHARS FOR MEMO FIELD
// ERROR [HY104] [Microsoft][ODBC Microsoft Access Driver]Invalid precision
value
int nRowsAffected = Convert.ToInt32(cmd.ExecuteNonQuery());
conn.Close();
return nRowsAffected;
}
private static void AssignParameterValues(OdbcCommand cmd, object[]
parameterValues)
{
if (parameterValues == null)
{
return;
}
for (int i = 0, j = parameterValues.Length; i < j; i++)
{
cmd.Parameters.Add(new OdbcParameter("@"+i,parameterValues));
}
return;
}
----CODE END ----
Thank you so much and looking forward to your kind response.
Reza.
I have been developing ASP.NET application on MS Access database using ODBC.
When I was trying to save more than 255 chars in a Memo field I got the
following error.
ERROR [HY104] [Microsoft][ODBC Microsoft Access Driver]Invalid precision
value
Below is the code snippet of two function where it is breaking. Any advice
on this would be greatly appreciated.
----CODE BEGIN---
public static int ExecuteNonQuery(string connString, string cmdText, params
object[] parameterValues)
{
OdbcConnection conn = new OdbcConnection(connString);
conn.Open();
OdbcCommand cmd = new OdbcCommand(cmdText, conn);
if ((parameterValues != null) && (parameterValues.Length > 0))
{
AssignParameterValues(cmd, parameterValues);
}
// GOT THE FOLLOWING ERROR WHILE EXECUTING THE UPDATE QUERY WITH MORE THAN
256 CHARS FOR MEMO FIELD
// ERROR [HY104] [Microsoft][ODBC Microsoft Access Driver]Invalid precision
value
int nRowsAffected = Convert.ToInt32(cmd.ExecuteNonQuery());
conn.Close();
return nRowsAffected;
}
private static void AssignParameterValues(OdbcCommand cmd, object[]
parameterValues)
{
if (parameterValues == null)
{
return;
}
for (int i = 0, j = parameterValues.Length; i < j; i++)
{
cmd.Parameters.Add(new OdbcParameter("@"+i,parameterValues));
}
return;
}
----CODE END ----
Thank you so much and looking forward to your kind response.
Reza.