A. C#winform与数据库
在数据库中,保存图片的字段为image类型。保存图片和现实图片其实是将图片转换成二进制数组进行传递的。 保存图片(将图片转换为二进制数组): string fileName=openFileDialog1.FileName;//文件路径 FileStream FStream = new FileStream(fileName, FileMode.Open, FileAccess.Read); BinaryReader BReader = new BinaryReader(FStream); byte[] byteImage = BReader.ReadBytes((int)FStream.Length); 显示图片: byte[] byteImage = (byte[])comm.ExecuteScalar();//获取图片的二进制数组数据 MemoryStream MStream = new MemoryStream(byteImage); pictureBox2.Image = Image.FromStream(MStream);//显示图片
B. 谁能给个C# winform连接数据库的例子,并且操作查询返回一些数据库,可以显示出来
以连接sql server数据库为例,保证你能做到
1.首先添加引用。在项目中右键添加引用,然后找到.net,找到System.data。然后在后台引用的地方输入using System.DataSqlClient;
2我只讲后台,前台你看着做啊。看代码。我会以最简单最易理解的方式给你讲解。懂了后你可以自己编写
Private void ToData()
{
SqlConnection conn = new SqlConnection();//创建连接对象
conn.ConnectionString = "data source=(要连接的数据库的服务器的IP,如果是本机的话可以用.);initial catalog=(数据库名称);user id=(用户名);pwd=(密码)";//连接字符串
conn.Open();//打开数据库
SqlCommand cmd = new SqlCommand();//创建命令对象
cmd.Connection = conn;
string sql ="select * from 表 where 条件";//创建sql语句
cmd.CommandText = sql;
SqlDataReader sd = cmd.ExecuteReader();//执行命令
if (sd.Read())
{
MessageBox.Show("有次用户")
}
}
C. 通过c# winform程序如何对数据库进行备份和还原
WinForm c# 备份 还原 数据库, 其实是个非常简单的问题,一个Form,一个Button,一个OpenFileDialog,一个SaveFileDialog.下面给出备份与还原类
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Collections;
using System.Windows.Forms;
namespace 我的备份与还原
{
class 备份与还原数据库
{
static string connectionString = "server=.;database=master;uid=sa;pwd=";
SqlConnection conn = new SqlConnection(connectionString);
/// <summary>
/// 备份指定的数据库文件
/// </summary>
/// <param name="databasename">要还原的数据库</param>
/// <returns></returns>
public bool BackUpDataBase( string databasefile)
{
if (!File.Exists(databasefile))
{
}
//还原的数据库MyDataBase
string sql = "BACKUP DATABASE " + "MyDataBase" + " TO DISK = '" + databasefile + ".bak' ";
conn.Open();
SqlCommand comm = new SqlCommand(sql, conn);
comm.CommandType = CommandType.Text;
try
{
comm.ExecuteNonQuery();
}
catch (Exception err)
{
string str = err.Message;
conn.Close();
return false;
}
conn.Close();//关闭数据库连接
return true;
}
//以下是还原数据库,稍微麻烦些,要关闭所有与当前数据库相连的连接
//------------------------------------------------------------------------------------------
public string RestoreDatabase(string backfile)
{
///杀死原来所有的数据库连接进程
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data Source=.;Initial Catalog=master;User ID=sa;pwd =";
conn.Open();
string sql = "SELECT spid FROM sysprocesses ,sysdatabases WHERE sysprocesses.dbid=sysdatabases.dbid AND sysdatabases.Name='" +
"MyDataBase"+ "'";
SqlCommand cmd1 = new SqlCommand(sql, conn);
SqlDataReader dr;
ArrayList list = new ArrayList();
try
{
dr = cmd1.ExecuteReader();
while (dr.Read())
{
list.Add(dr.GetInt16(0));
}
dr.Close();
}
catch (SqlException eee)
{
MessageBox.Show(eee.ToString());
}
finally
{
conn.Close();
}
for (int i = 0; i < list.Count; i++)
{
conn.Open();
cmd1 = new SqlCommand(string.Format("KILL {0}", list[i].ToString()), conn);
cmd1.ExecuteNonQuery();
conn.Close();
MessageBox.Show("系统已经清除的数据库线程: " + list[i].ToString() + "\r\n正在还原数据库!");
}
//这里一定要是master数据库,而不能是要还原的数据库,因为这样便变成了有其它进程
//占用了数据库。
string constr = @"Data Source=.;Initial Catalog=master;User ID=sa;pwd =";
string database = MyDataBase;
string path = backfile;
string BACKUP = String.Format("RESTORE DATABASE {0} FROM DISK = '{1}'", database, path);
SqlConnection con = new SqlConnection(constr);
SqlCommand cmd = new SqlCommand(BACKUP, con);
con.Open();
try
{
cmd.ExecuteNonQuery();
MessageBox.Show("还原成功,点击退出系统!");
Application.Exit();
}
catch (SqlException ee)
{
//throw(ee);
//MessageBox.Show("还原失败");
MessageBox.Show(ee.ToString());
}
finally
{
con.Close();
}
return "成功与否字符串";
}
}
}
D. c# winform 如何批量更新数据库数据
在处理百万级的数据方面,也不一定需要存储过程,用C#一样可以;ADO.NET提供了常用对象即可解决,就是数据适配器,在处理海量数据的时候,表现还是可圈可点的。先指定参数,接着一个循环,例: for (int i = 0; i < 100; i++)
{
dataset.Tables[0].Rows[i].BeginEdit();
dataset.Tables[0].Rows[i]["time"] = "2222-22-22 22:22:22";
dataset.Tables[0].Rows[i]["value"] = 100;
dataset.Tables[0].Rows[i]["id"] = "ID"+(i+10000);
dataset.Tables[0].Rows[i].EndEdit();
}接着一次提交更新就OK了数据适配器.Update(dataset.Tables[0]);然后释放资源,把数据集合适配器的资源都释放掉,连接也返回池中。 dataset.Tables[0].Clear();
适配器.Dispose
dataset.Dispose要注意的是,你在取记录填充到数据集里面的时候,不要一次去提取100万条,那样你的数据库引擎会不堪重负的。要根据你的硬件配置,每次提取适量的数据,如果配置不是很高,一次提取个500-600就行了,这样很快就能把数据在循环中处理完毕而不是卡到CPU暴涨直到死机。
E. 求C#winform 数据库类(连接和增删改查)和在窗口中的调用代码
C# 中分为三层,在数据访问层中写增删查改的代码和专门连接数据库的一个类写Connection;在窗口中调用的代码一般写在表示层。
F. Winform连接远程数据库
远程连接有点复杂,首先要保证客户端与SQL服务器连接
步骤:
一 看ping 服务器IP能否ping通。
这个实际上是看和远程sql server 2000服务器的物理连接是否存在。如果不行,请检查网络,查 看配
置,当然得确保远程sql server 2000服务器的IP拼写正确。
二 在Dos或命令行下输入telnet 服务器IP 端口,看能否连通。
如telnet 202.114.100.100 1433
通常端口值是1433,因为1433是sql server 2000的对于Tcp/IP的默认侦听端口。如果有问题,通常这
一步会出问题。通常的提示是“……无法打开连接,连接 失败"。
如果这一步有问题,应该检查以下选项。
1 检查远程服务器是否启动了sql server 2000服务。如果没有,则启动。
2 检查服务器端有没启用Tcp/IP协议,因为远程连接(通过因特网)需要靠这个协检查方法是,在服
务器上打开开始菜单->程序->Microsoft SQL Server->服务器网络实用工具,看启用的协议里
是否有tcp/ip协议,如果没有,则启用它。
3 检查服务器的tcp/ip端口是否配置为1433端口。仍然在服务器网络实用工具里查看启用协议里面的
tcp/ip的属性,确保默认端口为1433,并且隐藏服务器复选框 没有勾上。
事实上,如果默认端口被修改,也是可以的,但是在客户端做telnet测试时,写服务器端口号时必须
与服务器配置的端口号保持一致。如果隐藏服务器复选框被勾 选,则意味着客户端无法通过枚
举服务器来看到这台服务器,起到了保护的作用, 但不影响连接,但是Tcp/ip协议的默认端口将被
隐式修改为2433,在客户端连接 时必须作相应的改变。
4 如果服务器端操作系统打过sp2补丁,则要对windows防火墙作一定的配置,要对它开放1433端口,
通常在测试时可以直接关掉windows防火墙(其他的防火墙也 关掉最好)。
5 检查服务器是否在1433端口侦听。如果服务器没有在tcp连接的1433端口侦听,则是连接不上的。检
查方法是在服务器的dos或命令行下面输入
netstat -a -n 或者是netstat -an,在结果列表里看是否有类似 tcp 127.0.0.1 1433 listening
的项。如果没有,则通常需要给sql server 2000打上至少sp3的补丁。其实在服务器端启动查询分
析器,输入 select @@version 执行后可以看到版本号,版本号在8.0.2039以下的都需要打补丁。
如果以上都没问题,这时你再做telnet 服务器ip 1433 测试,将会看到屏幕一 闪之后光标在左上
角不停闪动。恭喜你,你马上可以开始在企业管理器或查询分析 器连接了。
三 检查客户端设置
程序->Microsoft SQL Server -> 客户端网络使用工具。像在服务器网络实用工具里一样,确保客 户端
tcp/ip协议启用,并且默认端口为1433(或其他端口,与服 务器端保持一致就行)。
四 在企业管理器里或查询那分析器连接测试
企业管理器->右键SQlserver组->新建sqlserver注册->下一步->写入远程IP-> 下一步->选Sqlserver登陆-
>下一步->写入登陆名与密码(sa,password)->下一 步->下一步->完成 查询分析器->文件->连接->写
入远程IP->写入登录名和密码(sa,password)->确 定
通常建议在查询分析器里做,因为默认情况下,通过企业管理器注册另外一台SQL Server的超时设置
是4秒,而查询分析器是15秒。
修改默认连接超时的方法:
企业管理器->工具->选项->在弹出的"SQL Server企业管理器属性"窗口中,点击"高级"选项卡->连接设
置->在登录超时(秒) 后面的框里输入一个较大的数字
查询分析器->工具->选项->连接->在登录超时(秒) 后面的框里输入一个较大的数 字
通常就可以连通了,如果提示错误,则进入下一步。
五 错误产生的原因通常是由于SQL Server使用了"仅 Windows"的身份验证方式,因 此用户无法使 用
SQL Server的登录帐户(如 sa )进行连接。解决方法如下所示:
1 在服务器端使用企业管理器,并且选择"使用 Windows 身份验证"连接上 SQL Server。
2 展开"SQL Server组",鼠标右键点击SQL Server服务器的名称,选择"属性",再选择"安全性"选项卡。
3 在"身份验证"下,选择"SQL Server和 Windows "。
4 重新启动SQL Server服务。(在dos或命令行下面net stop mssqlserver停止服务, net start mssqlserver启
动服务,也是一种快捷的方法)。
附注:在连接本地服务器时,通常使用的是命名管道协议(在服务器网络实用工具里可以看到启用的
协议有这个),默认端口是445,因此在本地能连通是不能说明什么问题的,连接远程服务器是完全
不同的协议)
//如果是在远程连接sql2000,采用下面连接字符串
// string source = "database=Northwind;Server=192.168.1.181,1433;User ID=sa;Password=sa;Persist Security Info=True";
G. C# winform 外网 mySQL数据库
server=后面不要带http://,只写域名就可以了。
H. c# winform与数据库的连接
在定义一个静态的DBHelper类用于数据库连接,
时直接类名点对象名就可以了。
public static string connString="Data Sourse=.;Initial CataLog=数据库名;User Id=数据库登陆名; Pwd=数据库登陆密码";
public static SqlConnection=new SqlConnection(connString);
I. 关于winform程序打包的数据库问题
其实很简单
,你可以在你打包的时候,把你的数据库添加进去,还有就是
比如你的数据库就放在你程序运行的起始目录。即在debug下,你安装好你的系统好后,把数据库放在安装好的目录即可解决哈!
有问题hi我哈!
J. net winform 开发 数据库linux Oracle,基于互联网,用户五千,数据单表上亿,你如何搞定
只要你代码编写精简、效率高,流程设计合理,无错误。剩下的就看你服务器的配置资源和网络带宽,如果满足要求,我想就算有10万用户,100亿条数据也无所谓的。因为你的程序可以高效的运作,所以再多的数据,再多的连接也无所畏惧啊。