G
Guest
I use slqce database to store master-detail table.It took too long to insert
data.
Could anyone give me some suggestion on how to improvement it.Following is
my code:
public static void RecordTask(ArrayList otask)
{
string scmd1 = "INSERT INTO TASK (date,taskname) VALUES ('{0}','{1}')";
string scmd2 = "INSERT INTO ASKLIST
(TASKID,tlist,state,begintime,endtime) VALUES
({0},'{1}',{2},'{3}','{4}')";
SqlCeConnection cn = new SqlCeConnection("Data
Source="+dbpath+@"\PDAKEYDB.SDF");
try
{
SqlCeCommand sqlcmd = cn.CreateCommand();
cn.Open();
sqlcmd.CommandText = string.Format(scmd1,DateTime.Now,Config.TaskName);
sqlcmd.ExecuteNonQuery();
sqlcmd.CommandText = "Select @@IDENTITY";
object o = sqlcmd.ExecuteScalar();
int taskid = (int) ((System.Data.SqlTypes.SqlDecimal) o).Value;
foreach (Operate op in otask) {
sqlcmd.CommandText =
string.Format(scmd2,taskid,op.Description,op.OpResult,DateTime.Now,DateTime.Now);
sqlcmd.ExecuteNonQuery();
}
}
catch (SqlCeException sex)
{
MessageBox.Show(sex.Message);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
cn.Close();
}
}
Thanks in advance,
wyghf
data.
Could anyone give me some suggestion on how to improvement it.Following is
my code:
public static void RecordTask(ArrayList otask)
{
string scmd1 = "INSERT INTO TASK (date,taskname) VALUES ('{0}','{1}')";
string scmd2 = "INSERT INTO ASKLIST
(TASKID,tlist,state,begintime,endtime) VALUES
({0},'{1}',{2},'{3}','{4}')";
SqlCeConnection cn = new SqlCeConnection("Data
Source="+dbpath+@"\PDAKEYDB.SDF");
try
{
SqlCeCommand sqlcmd = cn.CreateCommand();
cn.Open();
sqlcmd.CommandText = string.Format(scmd1,DateTime.Now,Config.TaskName);
sqlcmd.ExecuteNonQuery();
sqlcmd.CommandText = "Select @@IDENTITY";
object o = sqlcmd.ExecuteScalar();
int taskid = (int) ((System.Data.SqlTypes.SqlDecimal) o).Value;
foreach (Operate op in otask) {
sqlcmd.CommandText =
string.Format(scmd2,taskid,op.Description,op.OpResult,DateTime.Now,DateTime.Now);
sqlcmd.ExecuteNonQuery();
}
}
catch (SqlCeException sex)
{
MessageBox.Show(sex.Message);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
cn.Close();
}
}
Thanks in advance,
wyghf