can anybody help me to solve my problem : writing in .dbf , as following is my code with this error :
[ ERROR [07002] [Microsoft][ODBC dBase Driver] Too few parameters. Expected 3 ]
SqlConnection cn = new SqlConnection("Data Source=(local);Initial Catalog=test;Integrated Security=True");
SqlDataAdapter da = new SqlDataAdapter("select * from test", cn);
DataSet ds = new DataSet();
da.Fill(ds, "test");
None
0 Points
12 Posts
How to write in .dbf file with c#
Aug 18, 2010 02:55 PM|mohsen413|LINK
Hi all
can anybody help me to solve my problem : writing in .dbf , as following is my code with this error :
[ ERROR [07002] [Microsoft][ODBC dBase Driver] Too few parameters. Expected 3 ]
SqlConnection cn = new SqlConnection("Data Source=(local);Initial Catalog=test;Integrated Security=True");
SqlDataAdapter da = new SqlDataAdapter("select * from test", cn);
DataSet ds = new DataSet();
da.Fill(ds, "test");
string odbccon = "Dsn=TEST.DBF;dbq=E:\\FOX;defaultdir=E:\\FOX;driverid=533;fil=dBase 5.0;maxbuffersize=2048;pagetimeout=5";
OdbcConnection connection = new OdbcConnection(odbccon);
connection.Open();
OdbcCommand createCommand = connection.CreateCommand();
createCommand.CommandText = "CREATE TABLE test (ID int, name varchar(50),last_name varchar(50))";
createCommand.ExecuteNonQuery();
OdbcCommand insertCommand = connection.CreateCommand();
insertCommand.CommandText = "INSERT INTO test (ID,name,last_name) VALUES (@pID,@pname,@plast_name)";
foreach (DataRow dr in ds.Tables["test"].Rows)
{
int id = int.Parse(dr["ID"].ToString());
string name = dr["name"].ToString();
string last_name = dr["last_name"].ToString();
insertCommand.Parameters.Add(new OdbcParameter("@pID", id));
insertCommand.Parameters.Add(new OdbcParameter("@pname",name));
insertCommand.Parameters.Add(new OdbcParameter("@plast_name",last_name));
insertCommand.ExecuteNonQuery();
}
All-Star
120146 Points
27989 Posts
Moderator
MVP
Re: How to write in .dbf file with c#
Aug 18, 2010 04:24 PM|ignatandrei|LINK
if you have more than a single
DataRow dr in ds.Tables["test"].Rows
then you add (3* number of dr ) parameters.
Call
insertCommand.Parameters.Clear()
after
insertCommand.ExecuteNonQuery();