一般说来,如果你是数据较多,必须建立合理的索引,而且查询语句要按照索引来查询。
而从数据库里面获取图片并显示的基本方式,我想只有一种模式,只要你能显示就不存在错误。当然你可以贴出代码大家看看。
补充:
恐怕你上面的语句是简化了的,而且把关键部分简化掉了,完全相当于没有贴。你下面这个语句:
$result=mysql_query("select
*
from
image",$conn)
里面应该有一个类似where
id=$id这样的条件,然后把id字段设置为主键,速度可以提高数十倍,除非你表里面只有一条记录。
Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。SQL Server是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上也要比Access要强得多。在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。92HeZu网全部双线合租空间均可使用Access数据库,同时也支持SQL Server。SQL Server还有更多的扩展,可以用存储过程,数据库大小无极限限制。
SQL Server 特点:
1.真正的客户机/服务器体系结构。
2.图形化用户界面,使系统管理和数据库管理更加直观、简单。
3.丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。
4.SQL Server与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQL Server也可以很好地与microsoft BackOffice产品集成。
5.具有很好的伸缩性,可跨越从运行Windows 95/98的膝上型电脑到运行Windows 2000的大型多处理器等多种平台使用。
6.对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。
7.SQL Server提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。
MySQL是一个开放源码的小型关系型数据库管理系统,开发者为瑞典MySQL AB公司,92HeZu网免费赠送MySQL。目前MySQL被广泛地应用在Internet上的中小型网站中。提供由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库
MySQL特点:
1.MySql的核心程序采用完全的多线程编程。线程是轻量级的进程,它可以灵活地为用户提供服务,而不过多的系统资源。
2.MySql可运行在不同的 *** 作系统下。简单地说,MySql可以支持Windows95/98/NT/2000以及UNIX、Linux和SUN OS等多种 *** 作系统平台。
3.MySql有一个非常灵活而且安全的权限和口令系统。当客户与MySql服务器连接时,他们之间所有的口令传送被加密,而且MySql支持主机认证。
4.MySql支持ODBC for Windows。MySql支持所有的ODBC 2.5函数和其他许多函数,这样就可以用Access连接MySql服务器,从而使得MySql的应用被大大扩展。
5.MySql支持大型的数据库。虽然对于用Php编写的网页来说只要能够存放上百条以上的记录数据就足够了,但MySql可以方便地支持上千万条记录的数据库。
6.MySql拥有一个非常快速而且稳定的基于线程的内存分配系统,可以持续使用面不必担心其稳定性。
7.强大的查询功能。MySql支持查询的SELECT和WHERE语句的全部运算符和函数,并且可以在同一查询中混用来自不同数据库的表,从而使得查询变得快捷和方便。
8.PHP为MySql提供了强力支持,PHP中提供了一整套的MySql函数,对MySql进行了全方位的支持。
图片是二进制字段数据(文件)20.数据库存入二进制字段数据
/*
using System.Data
using System.IO
using System.Data.SqlClient
*/
private string File=""
if(openFileDialog1.ShowDialog()==DialogResult.OK)
{
pictureBox1.Image=new Bitmap(openFileDialog1.FileName)
FileName=openFileDialog1.FileName
}
try{
DataSet ds=new DataSet()
sqlDataAdapter1.Fill(ds,%%1)//"db"
DataTable MyTable=ds.Tables[0]
DataRow MyRow=MyTable.Rows.Count+1
MyRow[%%2]=MyTable.NewRow()//"id"
MyRow[%%3]=%%5//"FileName"
MyRow[%%4]=%%6//"Description"
FileStream fs=new FileStream(FileNmae,FileMode.OpenOrCreate,FileAccess.Read)
byte[] MyData=new byte[fs.Length]
fs.Read(MyData,0,(int)fs.Length)
MyRow[%%7[=MyData//"FileData"
MyTable.Rows.Add(MyRow)
sqlDataAdapter1.Update(ds,%%1)
ds.AcceptChanges()
//存储成功
}
catch(Exception ex)
{
//ex.Message.ToString()
}
21.数据库取出二进制字段数据
/*
using System.Data
using System.IO
*/
private int index=1
private System.Windows.Forms.BindingManagerBase_Bind()
private DataSet ds=new DataSet()
sqlDataAdapter1.Fill(ds,%%1)//"db"
_Bind=BindingContext[ds,%%1]
textBox1.DataBindings.Add("Text",ds,"%%1.%%3")//filename
textBox2.DataBindings.Add("Text",ds,"%%1.%%4")//description
if(_Bind.Count!=0)
{
try{
if(pictureBox1.Image!=null)
pictureBox1.Image.Dispose()
pictureBox1.Image=null
sqlDataAdapter1.SelectCommand.CommandText="Select * From %%1 Where %%2="+Convert.ToString(index)//id
DataSet dataSet=new DataSet()
sqlDataAdapter1.Fill(dataSet,%%1)
byte[] MyData=(byte[])dataSet.Tables[0].Rows[0][%%5]//"FileData"
Int32 size=MyData.GetUpperBound(0)
FileStream fs=new FileStream(%%6,FileMode.OpenOrCreate,FileAccess.Wrtie)//"temp.bmp"
fs.Write(MyData,0,size+1)
fs.Close()
pictureBox1.Image=new Bitmap(%%6)
}
catch(Exception ex)
{
//ex.Message.ToString()
}
}
22.批量执行SQL和存储过程
/// <summary>
/// 储存过程->删除
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public DataTable GetTable(int id)
{
DataTable dt = new DataTable()
SqlConnection con = new SqlConnection("server=.database=masterUser id=sapwd=sa")
SqlCommand com = new SqlCommand("proc_Shoping", con)//连接数据库执行存储过程
com.CommandType = CommandType.StoredProcedure
//执行存储过程
SqlDataAdapter da = new SqlDataAdapter(com)
SqlParameter param//添加一个输入参数
param = new SqlParameter("@id", SqlDbType.Int)//设置类型为输入类型 ,并传入参数
param.Direction = ParameterDirection.Input
param .Value= id//当前参数的值
param.Value =10
com.Parameters.Add(param)//将设置好的sqlparameter对象添加到da中
da.Fill(dt)
return dt//返回Datatable
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)