当我打开Management Studio并尝试使用[PCNAME]/SQLEXPRESS进行连接时,它会显示以下错误:
"无法连接到[PCNAME]\SQLEXPRESS"
附加信息:
错误信息:
建立与SQL Server的连接时发生与网络相关或特定于实例的错误.服务器未找到或无法访问.验证实例名称是否正确,以及SQL Server是否配置为允许远程连接.(提供程序:SQL网络接口,错误:26 - 找到指定的服务器/实例时出错)(Microsoft SQL Server,错误:-1)
如需帮助,请单击:http: //go.microsoft.com/fwlink?ProdName = Microsoft + SQL + Server&EvtSrc = MSSQLServer&EvidID = -1&LinkId = 20476 "
我也试过"localhost","local"和"." 在[PCNAME]的地方但无济于事.
它们似乎是相当大的跳跃,甚至成千上万.这是一个例子:

该表的最后一个ID超过了30.000标记,即使表中的行数少于一千行.
编辑:这发生在我的一个旧的,小型的桌面应用程序中,我还没有删除此表中的行,也没有使用任何事务和回滚.
我正在考虑群体之间的某种界限或其他什么。有什么方法可以将项目分成组吗?给它们上色是一种选择,但它看起来会很糟糕。
我正在使用C#和SQL Server中的一个小项目,我无法找到一种方法来清除DataGridView中的单元格,以便新数据可以填充单元格.我正在使用诸如列中的值之类的参数来加载数据.例如,我想为某个作者加载所有书籍,然后我想为另一个作者加载所有书籍.由于没有清除DataGridView,第二个作者的书籍只是加载到以前数据的行下面,它会像这样继续.
我希望能够在加载新数据之前清除DataGridView,这样它就是我单击所谓的"加载数据"按钮时看到的唯一数据.
目前,这是我的代码或多或少的样子:
SqlConnection connect;
DataSet ds1 = new DataSet();
SqlDataAdapter da;
connect = new SqlConnection();
connect.ConnectionString = "Data Source=THEPC-PC\\SQLExpress;Initial Catalog=TheDatabase;Integrated Security=True";
string sql = "Select * from table WHERE author = 'BookAuthor'";
da = new SqlDataAdapter(sql, connect);
da.Fill(ds1, "table");
table_dataGridView.AutoGenerateColumns = false;
table_dataGridView.DataSource = ds1.Tables["table"];
connect.Open();
connect.Close();
Run Code Online (Sandbox Code Playgroud)
如果我为author1单击"加载数据",然后再单击"author2",然后再单击"author1",则说明DataGridView的外观的简化版本:
------------------------
| author1 | bookONE |
------------------------
| author1 | bookTWO |
------------------------
| author2 | bookA |
------------------------
| author1 | bookONE |
------------------------
| author1 | bookTWO | …Run Code Online (Sandbox Code Playgroud) 这是查询,如何从结果中选择前1?这适用于SQL Server.
SELECT column1
FROM table
WHERE column2 = 'Whatever' AND column3 = 'Sure'
UNION
SELECT column4
FROM table
WHERE column2 = 'Whatever' AND column3 = 'Sure'
Run Code Online (Sandbox Code Playgroud) 这只发生在setMonth()方法中,而不是其他任何set*()方法.
这是我的意思的一个例子:
var date = new Date();
date.getTimezoneOffset(); // -60
date.setMonth(5);
date.getTimezoneOffset(); // -120
Run Code Online (Sandbox Code Playgroud)
这是预期的行为吗?在MDN上没有提到这一点.
编辑:
哇,我是个白痴.
所以基本上我在C#中创建一个程序,我需要对数据库进行查询.在此查询中,我需要总结给定列的所有值,其他列符合我的要求.然后我取值并将其放入"int"类型变量中.
SELECT SUM(Column1) FROM table WHERE Column2="blahblah" AND Column3="Case1" ...
int the_sum = System.Convert.ToInt32(sql.ExecuteScalar());
Run Code Online (Sandbox Code Playgroud)
现在的问题是,Column3只能有两种类型的字符串值,这里我将它们称为Case1或Case2,当column3包含Case1值时,我只需要Column1的SUM.一切都很酷,除了它可能是Column3中的所有值都是Case2.这样,就没有实例总结,第二行出现错误,我想把总和放在我的"the_sum"int中:
int the_sum = System.Convert.ToInt32(sql.ExecuteScalar());
Run Code Online (Sandbox Code Playgroud)
我怎么得到这个?我在这里做错了吗?
我需要两个日期之间的天数、小时数和分钟数的差异。当前日期 (NOW()) 和结束日期。我需要它们在两个不同的查询中,它们的工作方式略有不同。
第一个需要以以下格式将它们作为单列返回:
-------------------------
| time_left |
-------------------------
| x days x hours x min |
-------------------------
Run Code Online (Sandbox Code Playgroud)
第二个需要在三个单独的列中返回它们,确保如果 end_date 超过当前日期,则每列返回 0:
-------------------------------------------
| days_left | hrs_left | min_left |
-------------------------------------------
| x | x | x |
-------------------------------------------
Run Code Online (Sandbox Code Playgroud)
我有一个解决方案来解决所有这些问题,但这很糟糕。我确信有人至少找到了一种相对干净的方法来解决这个问题。先谢谢了!
我正在使用visual C#编写一个程序,我将数据拉入dataGridView.这一切都很好,但是如果我之后尝试提取更多数据(我希望将数据放入textBox中),则会出现错误.
这是我正在提取数据并将其放入dataGridView的部分:
SqlConnection connect;
DataSet ds1 = new DataSet();
SqlDataAdapter da;
connect = new SqlConnection();
connect.ConnectionString = "Data Source=THEPC-PC\\SQLExpress;Initial Catalog=DataBase;Integrated Security=True";
string sql = "SELECT * FROM table WHERE column = '" + comboBox.Text + "'";
da = new SqlDataAdapter(sql, connect);
da.Fill(ds1, "table");
the_data_dataGridView.AutoGenerateColumns = false;
the_data_dataGridView.DataSource = ds1.Tables["table"];
connect.Open();
connect.Close();
Run Code Online (Sandbox Code Playgroud)
下面的代码是我正在尝试在前一个查询之后进行的下一个查询.并且它在第3行显示此错误,其中显示"ExecuteScalar":
'string'不包含'ExecuteScalar'的定义,并且没有扩展方法'ExecuteScalar'可以找到接受类型'string'的第一个参数(你是否缺少using指令或汇编引用?)
SqlCommand sql2 = new SqlCommand("SELECT COUNT(column) FROM table WHERE column = '" + comboBox.Text + "'", connect);
connect.Open();
int the_result = System.Convert.ToInt32(sql.ExecuteScalar());
the_result_textBox.Text = the_result.ToString();
connect.Close(); …Run Code Online (Sandbox Code Playgroud) 这适用于SQL-Server 2008.这是一个示例列:
-----------------
| strings |
-----------------
| string1 |
-----------------
| string2 |
-----------------
| string3 |
-----------------
| string4 |
-----------------
| ... |
-----------------
Run Code Online (Sandbox Code Playgroud)
什么是查询来计算不是"string1","string2"或"string3"的任何字符串的出现次数?
该程序使用C#WinForms和SQL Server 2008.当我想输入包含DateTimePicker值的数据时,我可以看到措辞是荷兰语,然后我得到一个关于转换值的错误.有什么方法可以预编程来解决这个问题吗?我抓住了错误,就在这里.

try
{
SqlConnection connect = new SqlConnection("Data Source=Localhost\\SQLExpress;Initial Catalog=DataBase;Integrated Security=True");
SqlDataAdapter da = new SqlDataAdapter();
/******************** Inserting ********************/
string query = "INSERT INTO spending VALUES (";
query += "'" + date_dateTimePicker.Value + "', "; // Date
query += "'" + Convert.ToDecimal(amount_spent_textBox.Text) + "', "; // Amount spent
query += "'" + spent_on_textBox.Text + "')"; // Spent on
connect.Open();
da.InsertCommand = new SqlCommand(query, connect);
da.InsertCommand.ExecuteNonQuery();
connect.Close();
}
catch (Exception error)
{
MessageBox.Show(error.ToString());
}
Run Code Online (Sandbox Code Playgroud)
事情变得越来越厚..我在尝试将dateTimePicker值插入数据库时遇到此错误,就像我使用上面的代码一样.它在我的电脑上运行得非常好,但在这里不起作用.谁能解释一下?这是错误:

使用的代码:
string update = …Run Code Online (Sandbox Code Playgroud)