小编Som*_*ody的帖子

如何知道是否使用c#删除了记录

我有下面的代码,其中我在tblSerials表中搜索的每个序列号并从那里删除它,但问题是,记录可能存在也可能不存在,所以我需要知道记录是否实际被删除,所以我可以使用qty = qty - 1更新另一个具有连续数量的数量的表(如果删除).

SqlConnection conn = new SqlConnection(connString);
for (int i = 0; i <= aSNs.Count()-1; i++)
{
    string query = "delete from tblSerials where SerialNumber='" +aSNs[i]+ "'";
    SqlCommand cmd = new SqlCommand(query, conn);

    try
    {
        conn.Open();
        cmd.ExecuteNonQuery(); 
    }
    catch (Exception ex)
    {
        throw (ex);
    }
    finally
    {
        cmd.Dispose();
        conn.Close();
    }
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,如果有任何方法可以在ExecuteNonQuery()发生后知道某个记录是否已从表中删除.

.net c# sql ado.net

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

没有加载符号并且缺少pdb文件

我试图理解为什么在尝试调试我的网站应用程序时(注意:没有Web应用程序,如果它很重要),我得到"断点当前不会被命中.此文档没有加载符号"消息.

到目前为止,我发现pdb(项目调试数据库)文件和源代码一样重要,它应该出现在bin文件夹中,但无论出于什么原因文件丢失,只有一些dll放在那里,实际上有整个目录中没有pdb文件.

我的第一个问题是:无论正在开发什么类型的项目,都应该有一个pdb文件.正确?

第二个问题:如何重新创建该文件,或者为了再次调试项目需要执行哪些步骤?

asp.net visual-studio-2008 pdb-files

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

使 ListView FindItemWithText 匹配整个文本

我有ListView两列,在列表视图中输入新项目之前,我想防止输入重复值,所以我找到ListView.FindItemWithText了实现这一点。

但我意识到,如果我输入232323,然后输入2323,这是不同的但以与第一个条目相同的数字开头,该函数返回该项目作为匹配项。

我想知道是否有任何方法可以匹配整个文本(精确文本)以避免上述情况。

这是我的代码:

Dim ChkSIM As New ListViewItem
ChkSIM = lvItems.FindItemWithText("2323")
If Not ChkSIM Is Nothing Then
     lblErrorSIM.Text = "Already in list"
End If
Run Code Online (Sandbox Code Playgroud)

vb.net listview

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

尝试使用c#了解LINQ代码

我不确定这是否是正确的问题,如果没有,我很抱歉.

使用与以下相同的代码:

C#LINQ表达式问题

string[] digits = { "zero", "one", "two", "three", "four", "five", 
                    "six", "seven", "eight", "nine" };
var shortDigits = digits.Where((digit, index) => digit.Length < index);
foreach (var sD in shortDigits)
{
    Console.WriteLine(sD);
}
// Output:
// five
// six
// seven
// eight
// nine
Run Code Online (Sandbox Code Playgroud)

系统如何知道digit数字中的项目以及index数组中的位置?

c# linq

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

使用vb6关闭对象时不允许操作

我有一个excel文件,它带来了存储过程中的数据,它工作得很完美,现在我已经用另一个更改了旧存储过程的存储过程,但是我收到一个错误:"操作不是当对象关闭时允许",在循环中:Do While Not rsData.EOF

世界上发生了什么:

Set dbConnection = New ADODB.Connection
 dbConnection.ConnectionString = connStr
 dbConnection.ConnectionTimeout = 60
 dbConnection.Open

 Set Cmd = New ADODB.Command
 Cmd.CommandType = ADODB.CommandTypeEnum.adCmdStoredProc
 Cmd.ActiveConnection = dbConnection
 Dim myrealenddate As Date

 'Create 2 output parameters
 Set pm1 = Cmd.CreateParameter("@DateIni", adDBDate, adParamInput, 15, CDate(Sheet1.TextBoxfechainiG))
 Set pm2 = Cmd.CreateParameter("@DateEnd", adDBDate, adParamInput, 15, CDate(Sheet1.TextBoxfechaendG))

 'Append the output parameters to command object
 Cmd.Parameters.Append pm1
 Cmd.Parameters.Append pm2
 Cmd.CommandText = "spProductionReportByDate"
 'Cmd.CommandText = "sp_Report_Recv_Metrics"

 Set rsData = New ADODB.Recordset
 Set rsData.Source = Cmd
 rsData.Open

 I …
Run Code Online (Sandbox Code Playgroud)

vb6 excel

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

Application.WorksheetFunction.Sum在循环中

我有这个代码从sql查询中检索一些数据并将其放在Excel工作表中:

   I = 4
 Do While Not rs.EOF
  I = I + 1
  Sheet1.Range("A" & I).Value = rs(0)
  Sheet1.Range("B" & I).Value = rs(1)
  Sheet1.Range("C" & I).Value = rs(2)
  Sheet1.Range("D" & I).Value = rs(3)
  Sheet1.Range("E" & I).Value = rs(4)
  Sheet1.Range("F" & I).Value = rs(5)
  Sheet1.Range("G" & I).Value = rs(6)
  Sheet1.Range("H" & I).Value = rs(7)
  Sheet1.Range("I" & I).Value = rs(8)
  Sheet1.Range("J" & I).Value = rs(9)
  Sheet1.Range("K" & I).Value = rs(10)
  Sheet1.Range("L" & I).Value = rs(11)
  Sheet1.Range("M" & I).Value = rs(12)
  Sheet1.Range("N" & …
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba

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

使用这个结构有什么问题吗?

我已经阅读了很多关于使用结构作为数据类型的危险,我想知道这个是否存在任何问题,

List<Summarized> SummarizedList = new List<Summarized>();
    Summarized SumInfo;
    struct Summarized
    {
        public string sBrand;
        public string sModel;
        public string sCustomer;
        public int sline;
        public string sLeader;            
        public int sDesire;
        public int sReal;               
    } 
Run Code Online (Sandbox Code Playgroud)

如您所见,我使用类型SumInfo的通用项列表,它是结构数据类型.每当我需要更新列表中的项目时,我只需执行以下操作:

SumInfo = (Summarized)SummarizedList[CurrentPos];
            SumInfo.sDesire = DesireProd;
            SumInfo.sReal = RealProduced;                
            SummarizedList[CurrentPos] = SumInfo;
Run Code Online (Sandbox Code Playgroud)

其中CurrentPos是我想要更新的项目的位置.

到目前为止一切正常,所以未来可能有任何问题吗?这个结构是可变的吗?

谢谢.

.net c# winforms

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

asp.net gridview showheaderwhenempty仅适用于回发

我意识到ShowHeaderWhenEmpty仅适用于PostBacks.加载页面后有什么方法可以使它工作吗?

<asp:GridView ID="GridView1"... ShowHeaderWhenEmpty="true"... >
<EmptyDataTemplate>
<asp:Label ID="Label1" runat="server" Text="No records found"></asp:Label>
</EmptyDataTemplate>
Run Code Online (Sandbox Code Playgroud)

当我没有要显示的信息时,上面的消息只出现在PostBacks中,当页面加载时没有.

vb.net asp.net gridview

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

如何为每一行增加DateTime列一秒?

假设我有这个时间值: 09:00:00

我有一个列有Time列的表,我有三个记录.

我希望用这个时间更新这3条记录,但每次增加一秒钟的时间值(对于每条记录).

像这样的东西:

ColumnA   ColumnB
1         09:00:00
2         09:00:01
3         09:00:02
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

我的解决方案

经过一段时间研究我自己的解决方案,这就是我想出的

update tor1
set ColumnB = dateadd(s,tor2.inc, ColumnB)
from table1 tor1
inner join (select ColumnA, ROW_NUMBER() OVER (Order by ColumnA) as inc from table1) tor2 on tor1.ColumnA=tor2.ColumnA
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2000

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

带有单引号的字符串字段在表中插入记录时会导致错误

我有下面的代码:

query = "insert into tblB2B_OrderStatusTopStillInRB (LSRNbr, ShipName, Units, DroppedInRB, EPT, Status, OnTimeStatus, ShipVia, DroppedInRB_Order, RealEPT) ";
query += "values ('"
                    + ListOrdStatusTopInRB[i].LSRNbr + "','"
                    + ListOrdStatusTopInRB[i].ShipName + "',"
                    + ListOrdStatusTopInRB[i].Units + ",'"
                    + ListOrdStatusTopInRB[i].DroppedInRB + "','"
                    + ListOrdStatusTopInRB[i].EPT + "','"
                    + ListOrdStatusTopInRB[i].Status + "','"
                    + ListOrdStatusTopInRB[i].OnTimeStatus + "','"
                    + ListOrdStatusTopInRB[i].ShipVia + "','"
                    + ListOrdStatusTopInRB[i].DroppedInRB_Order + "','"
                    + ListOrdStatusTopInRB[i].RealEPT + "')";

cmd.CommandText = query;
cmd.ExecuteNonQuery();
Run Code Online (Sandbox Code Playgroud)

我刚刚意识到,当ShipName一个带有单引号的值时,会在insert语句中导致错误,例如:int'l Transp.

有没有办法解决这个问题,而不从字符串中删除单引号?

我尝试使用以下但没有工作:

cmd.CommandText = @query
+ @ListOrdStatusTopInRB[i].ShipName + "',"
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

c# sql

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

ComboBox.Items [i]的ValueMember使用WinForms c#

我使用下面的代码填写一个ComboBox:

cbxLines.DisplayMember = "Value";
cbxLines.ValueMember = "Key";
cbxLines.DataSource = new BindingSource(GetProductionLines(), null);

private Dictionary<int, string> GetProductionLines()
Run Code Online (Sandbox Code Playgroud)

现在我想用DisplayMemberComboBox中的每一个填充ListView 以及其他信息:

lvSelectedSetup.Items.Clear();
for (int i = 0; i <= cbxLines.Items.Count - 1; i++)
{
     ListViewItem item = new ListViewItem();
     item.SubItems.Add(cbxLines.Items[i].ToString());  <-- How to Get DisplayMember
     item.SubItems.Add(cbxFromDate.Text);
     item.SubItems.Add(cbxToDate.Text);
     lvSelectedSetup.Items.Add(item);
}
Run Code Online (Sandbox Code Playgroud)

但我不知道如何从ComboBox 获取ValueMemberDisplayMember从ComboBox获取.

我正在尝试执行以下操作,但卡住了:

item.SubItems.Add(cbxLines.Items[i].GetType().GetProperty(cbxLines.ValueMember).GetValue(cbxLines,null))
Run Code Online (Sandbox Code Playgroud)

任何建议?

c# combobox winforms

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

List.Clear()使用c#时,类项为空

这是我的班级声明:

    List<Carton> Cartons = new List<Carton>();
    public class Carton
    {
        public string CartonLabel;
        public string PN;
        public List<string> Serials;            
    }
Run Code Online (Sandbox Code Playgroud)

这是一个通用列表,我将在最后使用它将其分配给Carton.Serials

    List<string> Serials = new List<string>();
Run Code Online (Sandbox Code Playgroud)

当我这样做时,为什么Carton.Serials会变空: Serials.Clear()

    if (Serials.Count > 0)
                        {
                            Carton CartonItem = new Carton();
                            CartonItem.CartonLabel = CartonData;
                            CartonItem.PN = PNData;
                            CartonItem.Serials = Serials;
                            Cartons.Add(CartonItem);
                            Serials.Clear();
                        }
Run Code Online (Sandbox Code Playgroud)

c#

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

使用来自另一个文件.cs的变量

我在c#winforms中有一个项目,有一个名为的文件:( PublicSettings.cs这个文件在一个名为:Class的文件夹中),我有一个变量.

现在,我想在同一个项目中的另一个文件中使用该变量.

PublicSettings.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LVSetup.Class
{
    class PublicSettings
    {        
        private string _ConnStr = "Connection";

        public string ConnStr
        {
            get
            {
                return this._ConnStr;
            }
            set
            {
                this._ConnStr = value;
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我想ConnStr在文件中使用该变量:frmLogin.cs

frmLogin.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using LVSetup.Class;

namespace LVSetup
{
    public partial class frmLogin : Form
    {
        public frmLogin()
        {
            InitializeComponent();
        } …
Run Code Online (Sandbox Code Playgroud)

c#

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