小编Ton*_*ony的帖子

有多少外键太多了?

浏览本文后:http: //diovo.com/2008/08/are-foreign-keys-really-necessary-in-a-database-design/

在设计数据库时使用外键似乎是个好主意.但是你什么时候用得太多了?

例如,假设我有一个主表用于存储其他程序通过以下列引用的机器部件信息列表:

  1. ID
  2. 名称
  3. 颜色
  4. 价钱
  5. 测量单位
  6. 类别
  7. 等等...

我是否应该制作包含所有可能颜色,单位和类别列表的表格,然后将这些表格设置为机器零件信息表中相应列的外键?在什么时候使用外键的好处会影响我正在制作所有这些额外的表和关系的事实?

sql database database-design foreign-keys

15
推荐指数
1
解决办法
1万
查看次数

ASP.NET和ASP.NET MVC有什么区别?

在ASP.NET方面,我是一个完全的初学者,但我想学习它,以便构建一个最终将与云托管SQL服务器通信的Web应用程序.但是,我找不到任何概述ASP.NET Web应用程序和ASP.NET MVC2 Web应用程序之间差异的信息(在visual studio 2010中),所以我不知道从哪里开始.任何人都可以给我一个简单的解释/大纲,以便我可以决定要遵循的教程吗?

谢谢

asp.net asp.net-mvc

14
推荐指数
3
解决办法
3万
查看次数

撤消Git Clean

所以我不小心从工作树中删除了一些新的,未跟踪的文件git clean -f.有没有办法撤消清理或重新添加那些未跟踪的文件?

git

12
推荐指数
1
解决办法
6823
查看次数

使用C#连接到本地SQL Server数据库

假设我在Visual Studio Database1.mdfApp_Data文件夹中创建了一个名为SQL Server的数据库Names.

如何使用C#建立连接以读取表值?

到目前为止,我尝试过这样的事情:

SqlConnection conn = new SqlConnection("Server=localhost;Database=Database1;");

conn.Open();

// create a SqlCommand object for this connection
SqlCommand command = conn.CreateCommand();
command.CommandText = "Select * from Names";
Run Code Online (Sandbox Code Playgroud)

但是我收到一个错误:

未找到数据库/错误连接到数据库

c# sql-server

11
推荐指数
3
解决办法
11万
查看次数

检查数据表是否为空

以下代码是我用来从sql数据库中检索用户信息的代码.

            string userName = LoginUser.UserName;
            string password = LoginUser.Password;
            string comm = "SELECT Username,Password,Clientname,Role FROM Users WHERE Username = '" + userName + "';";
            bool rememberUserName = LoginUser.RememberMeSet;

            SqlConnection conn = new SqlConnection(connstring);
            conn.Open();

            SqlCommand command = new SqlCommand(comm, conn);
            SqlDataAdapter da = new SqlDataAdapter(command);
            DataTable dt = new DataTable();
            da.Fill(dt);
            DataRow dr = dt.NewRow();
            if (dt != null)
            {
                //logic
            }
Run Code Online (Sandbox Code Playgroud)

但是,如果数据库中没有用户名等于LoginUser.Username的条目,则(dt!= null)不返回false.是否有不同的方法来检查sqlcommand是否成功?

c# sql

11
推荐指数
2
解决办法
8万
查看次数

在asp.net Web应用程序中使用用户上传文件的标准做法

这是我第一次构建一个Web应用程序,仅用于处理用户上传的文件,我有一些关于如何正常完成的问题:

  1. 是否有任何安全问题需要考虑?要处理的文件本质上是我的应用程序将逐行读取的文本文件.我应该限制文件上传扩展名和/或是否还有其他预防措施?

  2. 上传文件的最佳组织方法是什么?这些文件不需要永久存储在我的应用程序中,所以我应该将它们转储到一般的"数据"文件夹中并删除不再需要的内容吗?

  3. 构建具有我错过的类似功能的Web应用程序还有其他重要方面吗?

谢谢

c# asp.net file-upload

8
推荐指数
1
解决办法
2066
查看次数

如何使用LINQ基于多个值查找重复项?

假设我有以下课程:

public class Test{
    public string Length { get; set; }
    public string Width { get; set; }
    public string Height { get; set; }
    public int Count { get; set; }
    public string Label { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我想找到具有相同长度和标签值的项目,并计算每个项目的数量.到目前为止我的代码看起来像:

var dups = testlist.GroupBy(i => new { i.Length, i.Label })
                   .Where(g => g.Count() >= 1)
                   .Select(g => new { Length = g.Key.Length, Label = g.Key.Label, 
                                      Count = g.Count() });
Run Code Online (Sandbox Code Playgroud)

但问题是,var中的对象不再具有width或height属性(它们不存在于g.Key中).无论如何,在结果中保存其他属性的同时,根据两个属性找到重复项?

c# linq list duplicates

7
推荐指数
1
解决办法
6454
查看次数

SQL表外键是复合主键的一部分

是否可以将表的外键作为另一个表的复合主键的一部分?例如,如果我有两个表,一个包含有关不同用户的所有活动项目的信息,另一个包含有关项目正在使用的设备的信息:

项目表:

Composite Primary Keys: UserId, ProjectId (两者都不是独一无二的)

设备表:

Composite Primary Keys: UserId, ProjectId, EquipmentId (两者都不是独一无二的)

现在是否可以将设备表中的ProjectId设置为项目表中的外键?当我尝试时,我得到一个错误,说项目表中的列与现有的主键或唯一约束不匹配?

sql sql-server foreign-keys primary-key

6
推荐指数
1
解决办法
1万
查看次数

如何将 for 循环的索引作为 pthread_create 的参数传递

我正在使用 for 循环来创建多个线程并将索引 i 作为参数传递,如下所示:

pthread_t p[count];
for (int i = 0; i < count; i++){
    pthread_create(&p[i], NULL, &somefunc, (void*)&i);
}
Run Code Online (Sandbox Code Playgroud)

然后我尝试检索 i 的值:

void *somefunc (void* ptr){
    int id = *(int*)ptr;
}
Run Code Online (Sandbox Code Playgroud)

但是,我注意到有时,线程中的 id 会有重叠的值,我怀疑这是由于在线程能够检索值之前 for 循环更新的索引(因为我传入了指针,而不是值本身)。有没有人有任何建议可以在不减慢 for 循环的情况下克服这个问题?

谢谢

c multithreading pthreads

6
推荐指数
1
解决办法
5244
查看次数

在C#中调用事件处理程序

我一直在努力学习如何在C#中使用事件处理程序,但我无法弄清楚以下代码中的处理程序(this,e):

public event EventHandler ThresholdReached;

protected virtual void OnThresholdReached(EventArgs e)
{
    EventHandler handler = ThresholdReached;
    if (handler != null)
    {
        handler(this, e);
    }
}
Run Code Online (Sandbox Code Playgroud)

它是否尝试使用事件(e)调用事件处理程序方法(this)?

c# events

5
推荐指数
1
解决办法
2万
查看次数