我在用C#做一个图书录入的系统,有几个问题求助于大家,请大家帮忙啊。
1、我的数据保存,是用VS2005里的数据库引用的(我懂一点这个),这个种引用与外建一个数据库然后连接的方式有什么区别?
我用引用这个方法对以后长期使用有什么弊端吗?
2、我在数据库建立了一个存图书的表,这个表的最大长度可以有多少行?
3、怎么通过界面操作在图书表里新增一行?
4、查询图书的时候,怎么取图书表的某列值来和我的text匹配?刚来CSDN不久,望不吝赐教
1、我的数据保存,是用VS2005里的数据库引用的(我懂一点这个),这个种引用与外建一个数据库然后连接的方式有什么区别?
我用引用这个方法对以后长期使用有什么弊端吗?
2、我在数据库建立了一个存图书的表,这个表的最大长度可以有多少行?
3、怎么通过界面操作在图书表里新增一行?
4、查询图书的时候,怎么取图书表的某列值来和我的text匹配?刚来CSDN不久,望不吝赐教
解决方案 »
- 做过.bmp图片数据分析的大哥来看下
- 读取返回数据值,这2种写法在性能上差多少?
- 高手帮帮忙 非常感谢!
- 对 COM 组件的调用返回了错误 HRESULT E_FAIL
- imagelist.raw和groupbox的问题————高手快来帮我下
- 紧急请教!excel导入数据,只有一条数据时,某一列的值总是无法读取?多条数据就没有问题。。。
- 如何对C#的内置类进行布局设置
- 求助,我要做一个多媒体管理系统,如何能实现对图片、声音、录象的控制。谢谢各位大侠了!
- 在webfrom中如何设置控件的焦点
- 出现"通常每个套接字地址(协议/网络地址/端口)只允许使用一次。" 的错误!
- [求教各位]生成缩略图问题
- winform 皮肤控件部署之后功能消失?
先谢谢了1、应该是有区别的,MSDN说的我不懂
3、是我没说清楚,在表上操作是直接写就可以了。我想知在我的form里面有个按钮,一点按钮就把一行数据新增到表里面。这个的代码怎么实现?
4、正在学习...
另外,用ACCESS也是可以的
或用ACCESS也就行了 新建一个数据库
1、我的数据保存,是用VS2005里的数据库引用的(我懂一点这个),这个种引用与外建一个数据库然后连接的方式有什么区别?
没有什么太大的区别,建立一个数据库,然后连接过去,你不要指定AttachDbFilename属性。
指定AttachDbFilename,ADO.NET的数据提供程序能让sqlserver读取指定数据库文件。个人感觉性能上,应该后者差一点。
我用引用这个方法对以后长期使用有什么弊端吗?
有好处,第一个,客户端不需要去建立数据库,只要安装好数据库服务器,你的代码就可以指定任意目录下的数据库文件,来访问,灵活,但是性能上略有损失。2、我在数据库建立了一个存图书的表,这个表的最大长度可以有多少行?
表的长度理论上没有限制,限制于数据库的文件大小。3、怎么通过界面操作在图书表里新增一行?
界面注意是提供输入,输入的信息,你需要做合法性判断,然后生成sql语句,使用
SqlCommand对象执行插入命令,执行前需要连接数据库,用SqlConnection对象,这些都可以查询MSDN
4、查询图书的时候,怎么取图书表的某列值来和我的text匹配?
基本的sql你要会写,不懂的话,网络上找一点资料,补一下,可以的话,买一本书学。
SqlCommand insertCmd=new SqlCommand("select publishName,publishDate From book where BookName='"+txtBookName.Text+"'",sqlConn);//sqlConn是创建好的数据库连接对象
sqlConn.Open();
insertCmd.ExcuteNonQuery();
try
{
sql.Open();
if (sql.State == ConnectionState.Open)
label1.Text = "连接成功!";
}
catch (SqlException S)
{
MessageBox.Show(S.Message); }
finally
{
sql.Close();
sql.Dispose();
}
这是我随便写的一个测试连接
test 是你的数据库 名子
datasource =你的服务器名子
{
string connectionString = "Data Source=(local);Initial Catalog=system;"
+ "Integrated Security=SSPI;";
SqlConnection connection = new SqlConnection(connectionString);
try
{
connection.Open();
if (connection.State == ConnectionState.Open)
{
SqlCommand selectCmd = new SqlCommand("select * from User where 用户名 = ' " + this.textBox_user.Text + " ' ", connection);
SqlDataReader mysqlreader = selectCmd.ExecuteReader();
if (mysqlreader.Read())
{
if (this.textBox_password.Text == mysqlreader["密码"].ToString())
{
uiLogin.UserName = this.textBox_user.Text;
uiLogin.Password = this.textBox_password.Text; this.DialogResult = DialogResult.OK;
}
else
{
nLoginCount++;
if (nLoginCount == MAX_LOGIN_COUNT)
{
this.DialogResult = DialogResult.Cancel;
}
else
{
MessageBox.Show("Invalid user name and password!");
this.textBox_user.Focus();
}
} }
else
{
throw new Exception("没有该用户 ");
}
}
}
catch
{
}
connection.Close();
}我用这个方法可以编译,但没有与数据库校验效果,是我的数据库没有连接到吗?
一般用户名是sa,但密码有可能不一样 其他就不用写了 server表示服务器.就表示本地服务器
我的电脑只装了Visual Studio 2005的,没有其他数据库软件。
我在服务器管理资源那里是可以添加连接的,并且测试成功的。
Server=.\SQLExpress;AttachDbFilename=c:\book.mdf;Database=dbname; Trusted_Connection=Yes;
说.\SQLExpress是不能识别转义序列, Database = dbname 就是book.mdf 吧?
安装SQL server 的话,那么好像只能是在局域网中可以访问(连接字符要说明你的服务器名称,server=服务器),要远程访问的话还需要另外设置,抱歉这里我也有点模糊,
用ACCESS的话那么原理是一样的......