我在用C#做一个图书录入的系统,有几个问题求助于大家,请大家帮忙啊。
1、我的数据保存,是用VS2005里的数据库引用的(我懂一点这个),这个种引用与外建一个数据库然后连接的方式有什么区别?
   我用引用这个方法对以后长期使用有什么弊端吗?
2、我在数据库建立了一个存图书的表,这个表的最大长度可以有多少行?
3、怎么通过界面操作在图书表里新增一行?
4、查询图书的时候,怎么取图书表的某列值来和我的text匹配?刚来CSDN不久,望不吝赐教

解决方案 »

  1.   


    先谢谢了1、应该是有区别的,MSDN说的我不懂
    3、是我没说清楚,在表上操作是直接写就可以了。我想知在我的form里面有个按钮,一点按钮就把一行数据新增到表里面。这个的代码怎么实现?
    4、正在学习...
      

  2.   

    对于你的第三四个问题来说,连接好数据库后,那么你就可以对数据库 进行操作了,(增, 删, 查)等等,就是SQL语句了,写代码到对应的按钮事件下就行了
    另外,用ACCESS也是可以的
      

  3.   

    VS2005添加的数据库引用属于什么类型的?Access?OleDb?
      

  4.   

    VS好像用的是SQLEXpress版的,我没用这个,你安装SQL server
    或用ACCESS也就行了 新建一个数据库
     
      

  5.   

    我在用C#做一个图书录入的系统,有几个问题求助于大家,请大家帮忙啊。
    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();
      

  6.   

    用连接字符呀  SqlConnection sql = new SqlConnection(@"server=.\sql2005;Integrated      Security=SSPI;Persist Security Info=False;Initial Catalog=test;Data Source=7085360CB900427");
                
                try
                    {
                        sql.Open();
                        if (sql.State == ConnectionState.Open)
                            label1.Text = "连接成功!";
                    }
                    catch (SqlException S)
                    {
                        MessageBox.Show(S.Message);                }
                    finally
                    {
                        sql.Close();
                        sql.Dispose();
                    }
    这是我随便写的一个测试连接
    test 是你的数据库 名子
    datasource =你的服务器名子
      

  7.   

    private void button_logIn_Click(object sender, EventArgs e)
            {
                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();
            }我用这个方法可以编译,但没有与数据库校验效果,是我的数据库没有连接到吗?
      

  8.   

    请问sweet_,datasource是服务器名字,如果我想在每台机子上都可以运行程序,这个改写什么?你例子中的7085360CB900427在那里可以查到啊?谢谢了
      

  9.   

    Sqlconnection con=new Sqlconnection ("server=.;database=库名;uid=sa;pwd=密码");
    一般用户名是sa,但密码有可能不一样 其他就不用写了 server表示服务器.就表示本地服务器
      

  10.   

    我是要连接到我创建的一个数据库文件叫 book.mdf ,里面有User 和 Catalog 两个表的book.mdf属于我的数据库引用
      

  11.   

    这个用户名  和密码是SQL Server登录用户名和密码 是SQL数据库么 进入SQL有 要不就是你设的windows验证  把它改为SQL验证
      

  12.   

    lishuai,你好。
    我的电脑只装了Visual Studio 2005的,没有其他数据库软件。
    我在服务器管理资源那里是可以添加连接的,并且测试成功的。
      

  13.   

    我是要连接到我创建的一个数据库文件叫 book.mdf ,里面有User 和 Catalog 两个表的book.mdf属于我的数据库引用那么你可以这么写连接字符串!
    Server=.\SQLExpress;AttachDbFilename=c:\book.mdf;Database=dbname; Trusted_Connection=Yes;
      

  14.   


    说.\SQLExpress是不能识别转义序列,  Database = dbname  就是book.mdf 吧?
      

  15.   

    string connectionString = "Server=.\SQLExpress;AttachDbFilename=D:\Work\book.mdf; Database=dbname; Trusted_Connection=Yes;";SqlConnection connection = new SqlConnection(connectionString);我是这样的
      

  16.   

    看你要做什么了,安装个SQL server也行,或者直接用ACCESS 
        安装SQL server 的话,那么好像只能是在局域网中可以访问(连接字符要说明你的服务器名称,server=服务器),要远程访问的话还需要另外设置,抱歉这里我也有点模糊,
        用ACCESS的话那么原理是一样的......