小编cod*_*biz的帖子

为什么我们在LEFT JOIN中有OUTER子句?

下面两个查询之间有什么区别

UPDATE

这个问题已在类似的问题中得到解答,这里有LEFT JOIN和LEFT OUTER JOIN在SQL Server中.

SELECT * FROM ca 
LEFT JOIN exam 
ON ca.subject = exam.subject
Run Code Online (Sandbox Code Playgroud)

SELECT * FROM ca 
LEFT OUTER JOIN exam 
ON ca.subject = exam.subject
Run Code Online (Sandbox Code Playgroud)

Table 'CA'
--------------------
subject|score
----------------
ENG    |25
MTH    |34
BIO    |18


Table 'Exam'
--------------------
subject|score
----------------
ENG    |25
Run Code Online (Sandbox Code Playgroud)

运行2个查询会在mysql,sqlserver 2008中产生相同的结果.我没有在Oracle中测试.

subject | score1 | subject | score1
--------------------------------------
ENG       14       ENG       44
MTH       28       NULL      NULL
BIO       22       NULL      NULL
Run Code Online (Sandbox Code Playgroud)

OUTER子句的目的是什么?

mysql sql sql-server join

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

数据表上的LINQ查找所有行都为空的位置

我有一个代码从excel电子表格读取数据,我已经走了这么远的SO一些答案

DataTable dt = ds.Tables[0];
dt = dt.AsEnumerable().Where((row, index) => index > 4).CopyToDataTable();
DataTable filteredRows = dt.Rows.Cast<DataRow>().Where(row => row.ItemArray.All(field => !(field is System.DBNull))).CopyToDataTable();
Run Code Online (Sandbox Code Playgroud)

有这个

dt.Rows.Cast<DataRow>().Where(row => row.ItemArray.All(field => (field is System.DBNull)))
Run Code Online (Sandbox Code Playgroud)

返回所有空行.

我也尝试过Any,它没有提供所需的输出

上面的代码适用于所有字段都不为NULL的位置,即每列都有一个字段.这可以免除所有列丢失1列的行,但这不是我想要的.

我想免除所有列为空的行.

c# oledb excel

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

.aspx.cs(代码隐藏)或BLL或两者中的验证代码?

我试图打破一些编写错误代码的旧习惯.其中一个是放置验证码的地方.我不认为验证应该在表示层中.或者那里可能有一些验证?

这是我过去做的一个例子

protected void SaveBtn_Click(object sender, EventArgs e)
{

  Item itm = new Item();
  itm.Name = txtName.Text;

  if(String.IsNullOrEmpty(itm.Name))
  {
     //reject
  }
  else
  {
     ItemBLL.Save(itm); //no more validation here
  }
}
Run Code Online (Sandbox Code Playgroud)

要么

public class ItemBLL
{

   public static int Save(Item itm)
   {
      //no more validation in .aspx.vb
      if(String.IsNullOrEmpty(itm.Name))
      {
        //reject
      }
      else
      {
       //Save item
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

我一直在使用第一种方法,我正在考虑切换到第二种方法,但我无法预测问题会是什么或一方面的优势.即使是更好的方法,也请赞赏

更新: 我同意,为了用户的简单验证(例如常见错误)应该在演示文稿(.aspx)中完成(使用javascript,jQuery).

一些业务逻辑验证也应该驻留在BLL中,以实现可移植性和可重用性.

这是否意味着我们可以在代码隐藏(.aspx.vb或.aspx.cs)中跳过验证?

c# asp.net validation business-logic

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

正则表达式将[A] [B]解析为A和B.

我试图将以下字符串分成带有正则表达式的单独行

[property1=text1][property2=text2] 
Run Code Online (Sandbox Code Playgroud)

应该是理想的结果

property1=text1
property2=text2
Run Code Online (Sandbox Code Playgroud)

这是我的代码

string[] attrs = Regex.Split(attr_str, @"\[(.+)\]");
Run Code Online (Sandbox Code Playgroud)

结果不正确,我可能做错了

在此输入图像描述

更新:应用建议的答案后.现在它显示空格和空字符串

在此输入图像描述

c# regex

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

正则表达式为0.0到1

我认为标题是描述性的

有效: 0.1, 0.15, 0.25, .... and 1

如何包含这1是这里的主要挑战.谢谢.

更新

对不起,我不能写代码.这是一个我无法访问源代码的遗留应用程序.应用程序验证方法已经嵌入,并且正在使用应用程序中嵌入的RegularExpression验证程序

c# regex

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

无法为ExpandoObject指定值

只是尝试动态对象,我遇到了这个编译错误

ExpandoObject myObj = new ExpandoObject();
myObj.GivenName = "Testing";
Run Code Online (Sandbox Code Playgroud)

System.Dynamic.ExpandoObject'不包含'GivenName'的定义,并且没有扩展方法'GivenName'接受类型'System.Dynamic.ExpandoObject'的第一个参数'

看看MSDN:ExpandoObject,他们实际上做了不同的事情 - 使用dynamic关键字

dynamic myObj = new ExpandoObject();
myObj.GivenName = "Testing";
Run Code Online (Sandbox Code Playgroud)

对此有何解释?是否仍然可以在myObj不使用dynamic关键字的情况下为实例分配值?我看是否有.SetProperty但没有.

谢谢

更新

现在我明白我必须使用dynamic关键字,但如果允许使用该行则有什么用处

ExpandoObject myObj = new ExpandoObject();
Run Code Online (Sandbox Code Playgroud)

c# dynamicobject

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

VB .NET SQL删除错误'''附近的语法不正确

我有问题试图从我的VS 2012删除记录,我正在使用sql server 2012,这是我的讲师的任务,我无法解决它

现在这就是我的意思

Private Sub bt_hapus_Click(sender As Object, e As EventArgs) Handles bt_hapus.Click
    Try
        Dim sqlda As New SqlClient.SqlDataAdapter("Delete from tabelpasien where No_Rkm_Mds=" & Me.txt_rkm_mds.Text, Me.SqlConnection1)
        sqlda.Fill(dspasien, "tabelpasien")
        MsgBox("Data telah berhasil dihapus")
        bersih()
        pasif()
        normal()
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
End Sub
Run Code Online (Sandbox Code Playgroud)

任何帮助都会大大贬低......

sql vb.net vb.net-2010 sql-server-2012 visual-studio-2012

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

我的ViewModel有什么问题

我试图通过ViewModel将一些列表传递给我的视图.我已多次重建我的项目无济于事.我在线查看,与我的方法没什么不同.

在此输入图像描述

namespace sportingbiz.Models.ViewModels
{
    public class MatchesViewModel
    {
        private List<MatchViewModel> _matches = new List<MatchViewModel>();
        public List<MatchViewModel> Matches
        {
            get { return _matches; }
            set { _matches = value; }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

标记

@model IEnumerable<sportingbiz.Models.ViewModels.MatchesViewModel>

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>
<table style="width:100%">

@foreach (var item in Model.Matches)
{
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.Team1Name)
        </td>
    </tr>
}
Run Code Online (Sandbox Code Playgroud)

如果我删除.Matchesforeach它的作品.Matches在intellisense中没有显示.

c# asp.net-mvc razor

0
推荐指数
1
解决办法
52
查看次数

Action方法的预期参数名为Id,否则没有

错误

参数字典包含非可空类型'System.Int64'的参数'UserId'的空条目,用于'sportingbiz.Controllers.PredictionController'中的方法'System.Web.Mvc.ActionResult Predict(Int64)'.可选参数必须是引用类型,可空类型,或者声明为可选参数.参数名称:参数

这不起作用.抛出上面提到的错误

http://mysite/User/Profile/15
Run Code Online (Sandbox Code Playgroud)

这有效

http://mysite/User/Profile/?UserID=15
Run Code Online (Sandbox Code Playgroud)

控制器行动

public ActionResult Profile(long UserID)
{

}
Run Code Online (Sandbox Code Playgroud)

当我更改参数名称时,Id它工作.我认为这是因为Id在路径集合(Global.asax)中指定了.是否有可能告诉MVC UserId应该映射到Id而不改变它Global.asax

c# asp.net-mvc asp.net-mvc-3

0
推荐指数
1
解决办法
724
查看次数