Form1.cs
上传用户:yiyuerguo
上传日期:2014-09-27
资源大小:3781k
文件大小:7k
源码类别:

C#编程

开发平台:

Others

  1. using System;
  2. using System.Drawing;
  3. using System.Collections;
  4. using System.ComponentModel;
  5. using System.Windows.Forms;
  6. using System.Data;
  7. using System.Data.OleDb;
  8. using System.IO;
  9. namespace photo
  10. {
  11. /// <summary>
  12. /// Form1 的摘要说明。
  13. /// </summary>
  14. public class Form1 : System.Windows.Forms.Form
  15. {
  16. //private Model model=new Model();
  17. private System.Windows.Forms.Button button2;
  18. private System.Windows.Forms.OpenFileDialog openFileDialog1;
  19. private System.Windows.Forms.Button button3;
  20. private System.Windows.Forms.PictureBox pictureBox1;
  21. private System.Windows.Forms.TextBox textBox1;
  22. private System.Data.DataSet dataSet1;
  23. private System.Data.OleDb.OleDbCommand oleDbCommand1;
  24.         BindingManagerBase bManager;
  25. private OleDbCommandBuilder cb;
  26. private OleDbDataAdapter da;
  27. /// <summary>
  28. /// 必需的设计器变量。
  29. /// </summary>
  30. private System.ComponentModel.Container components = null;
  31. public Form1()
  32. {
  33. //
  34. // Windows 窗体设计器支持所必需的
  35. //
  36. InitializeComponent();
  37. //
  38. // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
  39. //
  40. }
  41. /// <summary>
  42. /// 清理所有正在使用的资源。
  43. /// </summary>
  44. protected override void Dispose( bool disposing )
  45. {
  46. if( disposing )
  47. {
  48. if (components != null) 
  49. {
  50. components.Dispose();
  51. }
  52. }
  53. base.Dispose( disposing );
  54. }
  55. #region Windows 窗体设计器生成的代码
  56. /// <summary>
  57. /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  58. /// 此方法的内容。
  59. /// </summary>
  60. private void InitializeComponent()
  61. {
  62. this.button2 = new System.Windows.Forms.Button();
  63. this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
  64. this.button3 = new System.Windows.Forms.Button();
  65. this.pictureBox1 = new System.Windows.Forms.PictureBox();
  66. this.textBox1 = new System.Windows.Forms.TextBox();
  67. this.dataSet1 = new System.Data.DataSet();
  68. ((System.ComponentModel.ISupportInitialize)(this.dataSet1)).BeginInit();
  69. this.SuspendLayout();
  70. // 
  71. // button2
  72. // 
  73. this.button2.Location = new System.Drawing.Point(16, 64);
  74. this.button2.Name = "button2";
  75. this.button2.TabIndex = 2;
  76. this.button2.Text = "载入";
  77. this.button2.Click += new System.EventHandler(this.button2_Click);
  78. // 
  79. // button3
  80. // 
  81. this.button3.Location = new System.Drawing.Point(16, 112);
  82. this.button3.Name = "button3";
  83. this.button3.TabIndex = 3;
  84. this.button3.Text = "浏览";
  85. this.button3.Click += new System.EventHandler(this.button3_Click);
  86. // 
  87. // pictureBox1
  88. // 
  89. this.pictureBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
  90. | System.Windows.Forms.AnchorStyles.Left) 
  91. | System.Windows.Forms.AnchorStyles.Right)));
  92. this.pictureBox1.BackColor = System.Drawing.SystemColors.Desktop;
  93. this.pictureBox1.Location = new System.Drawing.Point(128, 8);
  94. this.pictureBox1.Name = "pictureBox1";
  95. this.pictureBox1.Size = new System.Drawing.Size(328, 248);
  96. this.pictureBox1.TabIndex = 4;
  97. this.pictureBox1.TabStop = false;
  98. // 
  99. // textBox1
  100. // 
  101. this.textBox1.Location = new System.Drawing.Point(16, 160);
  102. this.textBox1.Name = "textBox1";
  103. this.textBox1.TabIndex = 5;
  104. this.textBox1.Text = "textBox1";
  105. // 
  106. // dataSet1
  107. // 
  108. this.dataSet1.DataSetName = "NewDataSet";
  109. this.dataSet1.Locale = new System.Globalization.CultureInfo("zh-CN");
  110. // 
  111. // Form1
  112. // 
  113. this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
  114. this.ClientSize = new System.Drawing.Size(464, 273);
  115. this.Controls.Add(this.textBox1);
  116. this.Controls.Add(this.pictureBox1);
  117. this.Controls.Add(this.button3);
  118. this.Controls.Add(this.button2);
  119. this.Name = "Form1";
  120. this.Text = "Form1";
  121. this.Load += new System.EventHandler(this.Form1_Load);
  122. ((System.ComponentModel.ISupportInitialize)(this.dataSet1)).EndInit();
  123. this.ResumeLayout(false);
  124. }
  125. #endregion
  126. /// <summary>
  127. /// 应用程序的主入口点。
  128. /// </summary>
  129. [STAThread]
  130. static void Main() 
  131. {
  132. Application.Run(new Form1());
  133. }
  134. private void tabControl1_SelectedIndexChanged(object sender, System.EventArgs e)
  135. {
  136. }
  137. private void button2_Click(object sender, System.EventArgs e)
  138. {
  139. FileStream fs;
  140. string PathImage;
  141. OleDbConnection OleConn=new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.db1.mdb");
  142. OleConn.Open();
  143. //if (this.openFileDialog1.FileName!="" )
  144. if (DialogResult.OK == this.openFileDialog1.ShowDialog())
  145. {
  146.  
  147. //FileStream stream = new FileStream(file, FileMode.Open, FileAccess.Read);
  148. PathImage=this.openFileDialog1.FileName;
  149. fs=new FileStream(PathImage,System.IO.FileMode.Open ,System.IO.FileAccess.Read );
  150. byte[] ib=new byte[fs.Length];
  151. fs.Read(ib,0,ib.Length);
  152. fs.Close();
  153. //this.PathImage=this.openFileDialog1.FileName;
  154. OleDbCommand cmd = new OleDbCommand("INSERT INTO [Image1](Image1) VALUES (@img )" ,OleConn);
  155. ((OleDbParameter)cmd.Parameters.Add( "@img" , OleDbType.Binary )).Value = ib;
  156. cmd.ExecuteNonQuery();
  157. OleConn.Close();
  158. MessageBox.Show("写入成功!");
  159. }
  160. }
  161. private void button3_Click(object sender, System.EventArgs e)
  162. {
  163. try
  164. {
  165. OleDbConnection OleConn=new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.db1.mdb");
  166. OleConn.Open();
  167. OleDbDataAdapter oda = new OleDbDataAdapter( "SELECT  Image1 FROM [Image1] where ID ="+ textBox1.Text ,OleConn);
  168. //动态的进入下一行 如果没有下一行的话 则提示图片结束
  169. bManager.Position +=1;
  170. DataTable dt = new DataTable();
  171. oda.Fill( dt );
  172. OleConn.Close();
  173. byte[] buffer = dt.Rows[0 ] [0 ]as byte[];
  174. MemoryStream ms = new MemoryStream( buffer );
  175. pictureBox1.Image = Image.FromStream( ms );
  176. }
  177. catch
  178. {   MessageBox.Show("图片结束!");}
  179. }
  180. private void Form1_Load(object sender, System.EventArgs e)
  181. {
  182. string ConStr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.db1.mdb";
  183.     
  184. // 连接数据源 相当于水龙头接上水管 
  185. OleDbConnection Conn = new OleDbConnection(ConStr);
  186.       
  187. // 建立数据库命令列表
  188. oleDbCommand1 = new OleDbCommand("SELECT * FROM Image1", Conn);
  189. // 实例化 oleDbCommand1对象
  190. da = new OleDbDataAdapter();
  191. da.SelectCommand = oleDbCommand1;
  192. //实例化 OleDbCommandBuilder 对象 否则无法进行数据刷新
  193. cb = new OleDbCommandBuilder(da);
  194. // 找到数据集dataSet1 就是找到了一个可以接水的容器
  195. da.Fill(dataSet1, "Image1");
  196. // 在运行状态中绑定数据库与数据表
  197. // 这属于一种复杂绑定
  198. //dataGrid1.SetDataBinding(dataSet1, "Account");
  199. // 绑定TextBox1的内容与Account.AccountID
  200. // 这属于一种简单绑定
  201. textBox1.DataBindings.Add("Text", dataSet1, "Image1.ID");
  202. // 绑定TextBox1的内容与Account.Owner
  203. // 这属于一种简单绑定
  204. //textBox2.DataBindings.Add("Text", dataSet1, "Account.Owner");
  205. // 建立一个dataSet1的管理器 来控制当前数据的位置
  206. bManager = this.BindingContext [dataSet1, "Image1"];
  207. }
  208. }
  209. }