cwinform数据库
❶ c# winform与数据库的连接
在定义一个静态的DBHelper类用于数据库连接,
时直接类名点对象名就可以了。
public
static
string
connString="Data
Sourse=.;Initial
CataLog=数据库名;User
Id=数据库登陆名;
Pwd=数据库登陆密码";
public
static
sqlConnection
=new
SqlConnection(connString);
❷ winform不能访问sql数据库
你好,你是想问winform不能访问sql数据库是怎么回事吗?winform不能访问sql数据库是因为你的网络出现故障,导致winform无法对sql数据库进行正常的远程连接,所以才会出现winform不能访问sql数据库的情况。你只要更换一个正常的网络,将winform与sql数据库进行远程连接,这样就可以正常访问sql数据库了。
❸ winform程序附带数据库打包发布问题
其实很简单,你可以在你打包的时候,把你的数据库添加进去,还有就是
比如你的数据库就放在你程序运行的起始目录。即在debug下,你安装好你的系统好后,把数据库放在安装好的目录即可解决哈!
有问题hi我哈!
❹ 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);//显示图片
❺ C# Winform 安装怎么包含数据库
C#的c/s的winform,数据库为sql2k,
应用程序包括如下文件:
1.exe,1.dll,1.jpg,1.xml,donetsetup.exe以及数据库文件1.mdf,1.ldf(或数据库安装文件1.sql)。
打包要求:
(1)自动检测是否安装donet环境,如没安装,则提示自动安装。
(2)安装时自动安装数据库(附加mdf或运行1.sql)。
(3)在安装界面上能自定义一些安装图片或提示。
安装项目:
六个子项:文件系统、注册表、文件类型、用户界面、自定义操作、启动条件。
其中我们在打包过程中经常要用到的有文件系统、注册表、用户界面和自定义操作。
文件系统:向应用程序文件夹、用户的程序菜单、用户桌面下输出项目文件(四种类型:文件夹、项目输出、文件和程序集),还可以创建快捷方式(一般是放在桌面或程序菜单中)文件系统编辑器表示目标计算机上的文件系统,使用该工具可以指定应用程序文件安装的位置。在大多数情况下,希望将应用程序文件放在 Application Folder 中或在 Application Folder 下创建的子文件夹中。安装在目标计算机上以后,来自 Application Folder 的文件将位于 Program Files\Manufacturer\ProctName文件夹中,其中 Manufacturer 是安装 Visual Studio 时使用的公司名,而 ProctName 是用于部署项目的名称。可以在安装项目的属性窗口中重写这两个设置。
注册表:可以向注册表中插入键,在安装应用程序的同时创建注册表项。
用户界面:系统自动提供一组在安装期间显示的默认对话框。根据正在构建的项目的类型,所提供的这组对话框有所不同。使用用户界面编辑器,可以将对话框重新排序或删除对话框。在编辑器中显示的对话框树包含两部分:安装与管理员安装。安装部分包括终端用户运行安装程序时显示的对话框,而管理员安装部分包含系统管理员将安装程序上传到某个网络位置时显示的对话框。如果想构建一个没有用户界面的安装,只需在对话框树上删除安装部分中的所有对话框。或者,可以从一组可用的模板将对话框添加到安装项目中。
启动条件:使用启动条件编辑器来定义成功运行安装所必须满足的条件。例如,可以检查特定版本的操作系统。如果用户尝试在一个不满足条件的系统上安装,安装将中止。还可以配置启动条件来搜索目标计算机上的某个特定文件、注册表项或组件。在开始安装时,Windows Installer 执行搜索和条件评估,并按启动条件编辑器中所示的顺序执行。
自定义操作:自定义操作提供了一种在安装结束时执行任务的机制。例如,您可能希望在安装应用程序之前先配置好数据库,此时您可以用自定义操作来完成数据库的创建。自定义操作构建为单独的 .dll 或 .exe 文件,然后使用自定义操作编辑器添加到项目中,其中这些操作与不同的安装阶段有关。自定义操作编辑器包括几个单独的文件夹,用于放置执行 Install、Commit、Rollback 或 Uninstall 任务的二进制文件。
InstallerClass属性:如果添加的自定义操作是继承自Installer类(注意放在哪个文件夹下就要重载哪个相应的方法),该属性设为True,否则该属性设为False(注意:为False时要指定.dll文件的入口——EntryPoint属性)。
卸载:可以在安装应用程序中提供一个卸载的快捷方式,借助于系统提供的卸载程序msiexec.exe(在c:\windows\system32目录下),并把安装程序项目的ProctCode属性值赋给快捷方式的Arguments属性(注意:在属性值前加/x)
安装程序类:System.Configuration.Install命名空间下
Installer类有四个可以重载的方法,分别是Install,Commit,Rollback,Uninstall。
分别对应于自定义操作中的四个文件夹:安装、提交、回滚、卸载。
数据库安装:
1、 附加数据库
2、 执行创建数据库的Sql语句
3、 完全备份的数据库文件还原
可以将能生成数据库的的文件(分离的数据库文件、Sql脚本文件或完全备份文件)部署到应用程序文件夹下,然后在重载的Install方法里加入生成数据库代码(注意:生成数据库的代码应该在调用基类的Install方法后)。
数据库的卸载:首先删除数据库,再调用基类的Uninstall方法删除应用程序文件夹里的文件(顺序不能乱)。
几个特殊点:
1、 文件系统中的AlawaysCreate属性:本属性可以指定为False,然后Condition属性为空时相当于AlawaysCreate属性为True(Transitive属性必须为True才计算Condition属性的值)。Condition 属性可用于向安装程序添加条件逻辑,例如,仅为特定的操作系统版本安装某个文件。它还可以与文件搜索、注册表搜索或组件搜索一起使用,以在找不到指定项时使安装过程终止。可以是 Windows Installer 条件或属性,Property 属性中包含的值,文件、注册表或组件搜索中的 Name 属性,也可以是使用逻辑运算符的上述语句的组合。
2、 创建快捷方式(在程序中创建,可以有作为附加任务,根据用户的选择情况,有选择的创建):
添加引用:COM 选项卡并选择 Windows Script Host Object Model
创建对象:创建一个 WshShell 的实例对象,接着通过该对象的 CreateShortcut 方法来创建 IWshShortcut 接口的实例对象,传递给 CreateShortcut 方法的参数是将要创建的快捷方式的完整路径(包括该快捷方式的名字)。
设置属性:TargetPath、WorkingDirectory、WindowStyle、Description、IconLocation
生成快捷方式:调用 IWshShortcut.Save 方法生成快捷方式文件。
❻ 通过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 "成功与否字符串";
}
}
}
❼ Winform预防网络问题连不上数据库程序崩溃
判断是否可以连接的数据库连接字符串设置timeout时间,设成个5秒或10秒。
什么原因导致winform程序崩溃?
1、如果WinForm程序中使用了线程,而线程调用的代码中会抛出异常,该异常没有任何Try块处理。就会导致程序从主线程中跳出,导致WinForm程序突然崩溃性关闭。
2、还有就是程序读写某些外部资源,比如数据库、串口、并口、网络等。当这些资源发生堵塞或者出现问题,有可能会导致WinForm程序长时间处于等待状态,程序就会类似于死机现象。
3、写程序的时候,程序出现逻辑错误,导致死循环,或者线程死锁。如果该程序是在主线程中,就会导致WinForm程序死机。
当然这些是较为常见的崩溃性问题,如果时间充足其实可以写出很多。在这里就不一一列出了。
❽ winform怎样连接数据库
lianglin999(重楼)等级:#9楼 得分:8回复于:2010-03-28 21:25:32 使用SqlConnection类连接数据库
//需要添加如下的命名空间
using System.Data.SqlClient;
protected void Button1_Click(object sender, EventArgs e)
{
//ConnectionString定义了连接字符串
string ConnectionString = "Data Source=. ; Initial Catalog=Pubs; User ID=sa";
//使用连接字符串构造一个SqlConnection实例
SqlConnection conn = new SqlConnection(ConnectionString);
try
{
//打开连接
conn.Open();
//如果当前状态打开,在控制台输出
if (conn.State == ConnectionState.Open)
{
Label1.Text = "当前数据库已经连接!<br/>";
Label1.Text += "连接字符串为:" + conn.ConnectionString;
}
}
catch (SqlException ex)
{
Label1.Text = "当前数据库已经失败!<br/>";
Label1.Text += "失败的原因是:" + ex.Message;
}
finally
{
//调用Close方法即使关闭连接
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
}
}
❾ winform如何连接数据库
如需连接到本地SQL,请确保SQL服务正常启动,然后执行如下代码:
string con, sql;
/*Integrated Security=SSPI 这个表示以当前WINDOWS系统用户身去登录SQL SERVER服务器,如果SQL SERVER服务器不支持这种方式登录时,就会出错。
你可以使用SQL SERVER的用户名和密码进行登录,如:
"Server=.;Database=YouDBName;User ID=sa;Password=密码"
*/
con = "Server=.;Database=YouDBName;Integrated Security=SSPI";
sql = "select * from Test";
SqlConnection mycon = new SqlConnection(con);
mycon.Open();
SqlDataAdapter myda = new SqlDataAdapter(sql, con);
DataSet myds = new DataSet();
myda.Fill(myds, "Test");
dataGridView1.DataSource = myds.Tables["Test"];
❿ winform 数据库问题
回答:
1、是这样的,他也要装mssql
2、你在你的电脑上改好,然后分离,将数据库文件传给他,他再导入数据库文件就可以了。
access的性能比mssql要差很多。