none
从数据库提取数据 RRS feed

  • 问题

  • 您好,我用的是SQLserver 2008 

    我现在在数据库里新增了一张表,名为:T_Person

    有两列: ID  和 name

    现在我要写一个方法: 根据ID返回对应的name

    public string NAME(……){……}

    这个函数要怎么写啊?

    比如我编辑了几行数据,如下:

    1001  小明

    1002  小雪

    1003  小猪

    ……………………

    我根据 1002这个ID 返回 小雪 这个名字,我要怎么写这个函数!

     


    2012年1月20日 14:24

答案

全部回复

  • public string NAME(int id)
    {
      SqlConnection conn = new SqlConnection("連接字符");
      SqlCommand cmd = new SqlCommand(@"Select Name from T_Person Where id=@id",conn);
       cmd.Parameters.AddWithValue("@id",id);
       string name = string.Empty;
       conn.Open();
       name = Convert.ToString(cmd.ExecuteScalar());
       conn.Close();
    
    
       return name;
    }
    
    
    


    請參考MSDN有代码示例:http://msdn.microsoft.com/zh-cn/library/dw70f090.aspx

     


    2012年1月20日 15:44
  • 大侠,你好厉害啊!

    我的很多问题都是你回答的,不得不佩服

    小弟十分感谢

    2012年1月21日 1:47
  • public string NAME(int id)
    {
    
      string s_name;
      SqlConnection conn = new SqlConnection("連接字符");
      SqlDataAdapter Adapte = new   SqlDataAdapter("Select Name from T_Person Where id="+id+"",conn);
      DataTable DT=new DataTable();
    
       Adapte.Fill(DT);
    
       if(DT.Rows.count>0)
       {
          s_name = string.Empty;
        }
        else
        {s_name="Not Found!!!";}
    
        return name;
    }
    
    
    

     

    查询也可以不需要连接打开 或连接!


    Final Fantasy
    2012年1月23日 8:50
  • 不打开,不连接怎么读取到数据库的内容呢?

    这个应该是一般的程式:连接-〉打开-〉操作-〉关闭。

    如果不打开的话,可能不会报错,但肯定是不能读取数据的,除非你上一个open 还没有close。

     


    Best Regards,
    Rocky Yue[MSFT]
    MSDN Community Support | Feedback to us
    2012年1月25日 6:54
    版主
  • 查询也可以不需要连接打开 或连接!
    要从数据库查询数据自然是要打开连接和关闭连接的, 只不过对于DataAdapter和TableAdapter, 他们的Fill方法内部会自动维护对数据库连接打开与关闭的操作.
    官方说明: "Fill 方法使用关联的 SelectCommand 属性所指定的 SELECT 语句从数据源中检索行。
     与 SELECT 语句关联的连接对象必须有效,但不需要将其打开。 如果调用 Fill 之前连接已关闭,则将其打开以检索数据,然后再将其关闭"。
    出自: http://msdn.microsoft.com/zh-cn/library/377a8x4t.aspx .
    如果要求证, 可以使用Reflector或者其他反射工具去查看Fill方法的内部实现. 

    Leo Liu [MSFT]
    MSDN Community Support | Feedback to us

    2012年1月26日 3:27
    版主