public void resetdatasource()
{
dt = new DataTable();
DataColumn col1 = new DataColumn("itemID", typeof(int));
dt.Columns.Add(col1);
DataColumn col2 = new DataColumn("paramvalue", typeof(string));
dt.Columns.Add(col2);
DataColumn col3 = new DataColumn("date_logged1", typeof(string));
dt.Columns.Add(col3);
DataColumn col4 = new DataColumn("Quality", typeof(string));
dt.Columns.Add(col4);
DataColumn col5 = new DataColumn("date_logged", typeof(DateTime));
dt.Columns.Add(col5);
DataColumn[] Cols = { dt.Columns[0] };
dt.PrimaryKey = Cols;
dt.TableName = "parameter";
}
public void enqueue(object e)
{
try
{
lock (SyncObject)
{
DataChangeEventArgs e113 = (DataChangeEventArgs)e;
resetdatasource();
for (; i < e113.sts.Length; i++)
{
int hour113 = e113.sts[i].TimeStampNet.Hour;
int minute113 = e113.sts[i].TimeStampNet.Minute;
int second113 = e113.sts[i].TimeStampNet.Second;
int millisecond113 = e113.sts[i].TimeStampNet.Millisecond;
int year113 = e113.sts[i].TimeStampNet.Year;
int month113 = e113.sts[i].TimeStampNet.Month;
int day113 = e113.sts[i].TimeStampNet.Day;
DateTime sdate113 = new DateTime(year113, month113, day113, hour113, minute113, second113, millisecond113);
DataRow row1 = dt.NewRow();
row1["itemID"] = e113.sts[i].HandleClient;
row1["paramvalue"] = Convert.ToString(e113.sts[i].DataValue);
row1["date_logged1"] = sdate113.ToString("dd-MM-yyyy HH:mm:ss.fff");
row1["Quality"] = e113.sts[i].Quality;
row1["date_logged"] =DateTime.FromFileTime(e113.sts[i].TimeStamp);
dt.Rows.Add(row1);
}
update(dt);
}
catch { }
}
public void update(DataTable ds)
{
try
{
lock (myLockHolder)
{
X1 = 1;
MySqlConnection con = new MySqlConnection(LocalConnection.GetLocalConnetionStringmysql());
MySqlCommand cmd;
MySqlDataAdapter da=new MySqlDataAdapter();
DataSet oldvalueds=new DataSet();
DataTable newupdateddata = new DataTable();
newupdateddata = ds.Copy();
string query = "";
string updatequery = "";
query = "select itemID,paramvalue,date_logged1,Quality,date_logged from parameter";
updatequery = "update parameter" + Environment.NewLine;
updatequery += "set paramvalue=@paramvalue,date_logged1=@date_logged1,Quality=@Quality,date_logged=@date_logged" + Environment.NewLine;
updatequery += " where itemID=@itemID";
da.UpdateCommand = new MySqlCommand(updatequery, con);
da.UpdateCommand.Parameters.Add("@paramvalue", MySqlDbType.VarChar, 250, "paramvalue");
da.UpdateCommand.Parameters.Add("@date_logged1", MySqlDbType.VarChar, 1000, "date_logged1");
da.UpdateCommand.Parameters.Add("@Quality", MySqlDbType.VarChar, 1000, "Quality");
da.UpdateCommand.Parameters.Add("@date_logged", MySqlDbType.DateTime, 0, "date_logged");
MySqlParameter workParm = da.UpdateCommand.Parameters.Add("@itemID", MySqlDbType.Int32, 11, "itemID");
workParm.SourceColumn = "itemID";
workParm.SourceVersion = DataRowVersion.Original;
da.MissingSchemaAction = MissingSchemaAction.AddWithKey;
cmd = new MySqlCommand(query, con);
da = new MySqlDataAdapter(cmd);
da.Fill(oldvalueds,"parameter");
DataTable dt = new DataTable();
dt = oldvalueds.Tables[0].Copy();
oldvalueds.Merge(ds);
int k = da.Update(oldvalueds, "parameter");
}
}
catch { }
finally
{
X1 = 0;
}
}
used like this but when i will be merge the two dataset
target.date_logged and source.date_logged have conflicting properties: DataType property mismatch.
target datatype is mysql.data.types.mysqldatetime & source datatype is system.datetime
any solution on this
tankx in advance