/ / C # cambia el tipo de datos archivado mdb a memo y guárdalo - c #, .net, base de datos, tipos, jet

C # cambia mdb archivado el tipo de datos a memo y lo guarda - c #, .net, base de datos, tipos, jet

Me gustaría cambiar el tipo de datos en mi base de datos de "Texto" a "Memo". en primer lugar, no encontré el tipo de datos "Memo" en c #. segundo: obtuve el siguiente código para ejecutar el comando en la base de datos:

    public void SQLCommand(String strSQL)
{
OleDbConnection objConnection = null;
OleDbCommand objCmd = null;
String strConnection;
strConnection = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + "\tasks.mdb";
objConnection = new OleDbConnection(strConnection);
objConnection.ConnectionString = strConnection;
objConnection.Open();
objCmd = new OleDbCommand(strSQL, objConnection);
objCmd.ExecuteNonQuery();
objConnection.Close();
UpdateListView();
}

¿Cómo puedo cambiar el tipo de datos de la tercera columna y guardarlo? Puedo cambiar el tipo de datos cuando form_load con esta función:

    public void tst()
{
conn.Open();
DataSet ds = new DataSet();
OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * from Tasks", conn);
adapter.Fill(ds);
DataTable dt = ds.Tables[0];
dt.Columns[3].DataType = System.Type.GetType("System.String");
conn.Close();
}

pero con esta función, cambia a los datosescriba string> y quiero memo. Además, esta función no es buena ya que necesito ejecutarla cada vez y si la cambio permanentemente a memo solo tendré que hacer un poco si al principio.

~ Gracias.

Respuestas

3 para la respuesta № 1
  1. String en C # es el equivalente de ambos Text y Memo ya que admite textos de cualquier longitud.

  2. Si entiendo la pregunta correctamente, creo que está malinterpretando lo que realmente está haciendo en su código. Cuando configura el DataType de la columna, no está cambiando la base de datos de ninguna manera, solo está cambiando el tipo de datos de una columna en DataTable instancia que has creado.

Si realmente quieres cambiar la estructura dela base de datos probablemente sería la mejor forma de hacerlo manualmente en Access, ya que no estoy seguro de si eso es realmente compatible con ADO.Net (supongo que puede hacerlo usando ALTER declaraciones). De lo contrario, podría hacerlo utilizando DAO que solía ser la forma de Access / Jet de hacer cosas así, pero que fue desaprobada hace bastante tiempo, por lo que podría no funcionar bien en .Net.