100分求解决办法?大家帮忙
我做一个简单的画线程序 因为特殊要求(网上阅卷)要把涂鸦保存下来 我把鼠标画线经过的点都保存在SQL数据库里面 画线中间停顿时在数据库里插入一个(-1,-1);因为这样鼠标经过的点是以一个单位保存在数据库里面的,数据量太大 我想简化一下 但是又要保证把数据恢复出来时尽量的和原来所画线尽量的相似 大家有什么好的算法吗 
 我的一部分程序是这样的 
 private   void   MsMove(object   sender,System.Windows.Forms.MouseEventArgs      e) 
 { 
  string   str= "server=127.0.0.1;Integrated      Security=SSPI;database=webdevelop "; 
 SqlConnection   conn=new   SqlConnection(str);  			 
 if(pen) 
 {       
   g.DrawLine(new   Pen(Color.Red),   oldX,   oldY,   e.X,   e.Y); 
 	oldX   =   e.X; 
 	oldY   =   e.Y; 
 	p   =   new   Point(e.X,e.Y); 
 	array.Add(p); 
     string   sql= "INSERT   INTO   ZUOBIAO   (XX,YY)   VALUES   ( "+p.X+ ", "+p.Y+ ") "; 
   SqlDataAdapter   adapter=new   SqlDataAdapter(sql,conn); 
   DataSet   dataset=new   DataSet(); 
  adapter.Fill(dataset, "ZUOBIAO ");  				 
 } 
 	private   void   MsDown(object   sender,   System.Windows.Forms.MouseEventArgs   e) 
 		{         
 			if(pen) 
 			{ 
 				string   str= "server=127.0.0.1;Integrated   Security=SSPI;database=webdevelop "; 
 				SqlConnection   conn=new   SqlConnection(str); 
 				SqlDataAdapter   adapter1=new   SqlDataAdapter( "INSERT   INTO   ZUOBIAO   (XX,YY)   VALUES   (-1,-1) ",conn); 
 				DataSet   dataset1   =   new   DataSet(); 
 				conn.Open();  					 
 				adapter1.Fill(dataset1,    "ZUOBIAO "); 
 				conn.Close(); 
 			}  	 
 			if(e.Button   ==   MouseButtons.Left) 
 			{ 
 				isMoving   =   true;   
 			} 
 			Drag   =   true;			             
 			oldX=e.X; 
 			oldY=e.Y; 
 		} 
 private   void   MsUp(object   sender,   System.Windows.Forms.MouseEventArgs   e) 
 	{ 
 			Drag   =   false; 
 			if(e.Button   ==   MouseButtons.Left) 
 				isMoving   =   false; 
 			} 
 而且我想填加一个右键菜单,在画过的线上右击 可以把这段线删除 
 大家有什么好的办法吗?? 
 都来帮帮我吧
------解决方案--------------------mark   
 楼上是个办法,而且不用每次Move都新建连接吧。。 
------解决方案--------------------或许将痕迹保存为jpg文件会容易些,载入时同时载入试卷和背景透明的文件就可以显示试卷和痕迹了。
------解决方案--------------------你把涂鸦所生成的Image或者bmp保存下来就可以了!
------解决方案--------------------我写了一个程序,楼主可以参考下,然后按自己的喜好改一下就可以了(VS2005): 
 using System; 
 using System.Collections.Generic; 
 using System.ComponentModel; 
 using System.Data; 
 using System.Drawing; 
 using System.Text; 
 using System.Windows.Forms; 
 using System.Data.SqlClient;   
 namespace drawImageApp 
 { 
 	public partial class Form1 : Form 
 	{ 
 		public Form1() 
 		{ 
 			InitializeComponent(); 
 		} 
 		private struct lineData 
 		{ 
 			public Point startPoint; 
 			public Point endPoint; 
 			public lineData(Point start, Point end) 
 			{ 
 				startPoint = start; 
 				endPoint = end; 
 			} 
 		} 
 		private List <lineData>  list; 
 		private Point lastPoint = Point.Empty; 
 		protected override void OnLoad(EventArgs e) 
 		{ 
 			base.OnLoad(e); 
 			this.list = new List <lineData> (); 
 			//TODO:可以在这里从数据库中加载以前存储的数据以供显示 
 		} 
 		protected override void OnMouseDown(MouseEventArgs e)